2017. 10. 19. 16:40
반응형

안드로이드 스튜디오로 진행

우선 기본적인 Empty Activity를 만든다.

그리고 DBHelper라는 새로운 클래스를 만든다.

데이터베이스는 간단하게 자동으로 숫자가 올라가는 id, 이름(text)로 구성

아래와 같이 작성하고 EditText에 이름을 입력하고 insert button을 누르면 데이터베이스에 추가된다.

select button을 누르면 지금까지 추가된 이름들을 토스트로 확인할 수 있다.



DBHelper.java

import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DBHelper extends SQLiteOpenHelper{
public DBHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}

@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table user(id integer primary key autoincrement, name text);");
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

}
public void insert(String name){
SQLiteDatabase db = getWritableDatabase();
db.execSQL("insert into user(name) values('"+name+"');");
db.close();
}

public String getResult(){
SQLiteDatabase db = getReadableDatabase();
String result = "";

Cursor cursor = db.rawQuery("select * from user", null);
while(cursor.moveToNext()){
result += cursor.getString(0)+", "+cursor.getString(1)+"\n";
}
return result;
}
}



MainActivity.java


import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
EditText editText;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

final DBHelper dbHelper = new DBHelper(getApplicationContext(), "name.db", null, 1);
editText = (EditText) findViewById(R.id.editText);

Button button1 = (Button) findViewById(R.id.button1);
Button button2 = (Button) findViewById(R.id.button2);

button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = editText.getText().toString();
dbHelper.insert(name);
}
});

button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String result = dbHelper.getResult();
Toast.makeText(getApplicationContext(), result, Toast.LENGTH_SHORT).show();
}
});
}
}



activity_main.xml


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="패키지명.MainActivity">

<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:text="Name" />

<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="insert button" />

<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="select button" />

</LinearLayout>


반응형