안드로이드 내장 sqlite 를 써서 DB를 만들었습니다.
그런데 예를 들어 제가 2개의 액티비티를 써서 하나의 activity 에는 EditText에 값을 넣어 등록하기를 누르면
DB의 데이터가 INSERT 되고 그 데이터가 출력하는 곳을 다른 activity에 출력하려 합니다.
지금 등록하기를 누르면 DB에 데이터가 INSERT 되는 거까지 구현을 해놓은 상태인데요.
다른 activity에 DB의 데이터들을 출력(SELECT)을 하는 것에서 막혀서 질문을 드리고자 합니다.
도움주시면 정말 감사하겠습니다. 부탁드립니다
package com.cookandroid.project12_2;
import android.support.v7.app.AppCompatActivity;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
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 {
myDBHelper myHelper;
EditText edtName, edtNumber, edtNameResult, edtNumberResult;
Button btnInit, btnInsert, btnSelect;
SQLiteDatabase sqlDB;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("가수 그룹 관리 DB");
edtName = (EditText) findViewById(R.id.edtName);
edtNumber = (EditText) findViewById(R.id.edtNumber);
edtNameResult = (EditText) findViewById(R.id.edtNameResult);
edtNumberResult = (EditText) findViewById(R.id.edtNumberResult);
btnInit = (Button) findViewById(R.id.btnInit);
btnInsert = (Button) findViewById(R.id.btnInsert);
btnSelect = (Button) findViewById(R.id.btnSelect);
myHelper = new myDBHelper(this);
btnInit.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
sqlDB = myHelper.getWritableDatabase();
myHelper.onUpgrade(sqlDB, 1, 2); // 인수는 아무거나 입력하면 됨.
sqlDB.close();
}
});
btnInsert.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
sqlDB = myHelper.getWritableDatabase();
sqlDB.execSQL("INSERT INTO groupTBL VALUES ( '"
+ edtName.getText().toString() + "' , "
+ edtNumber.getText().toString() + ");");
sqlDB.close();
Toast.makeText(getApplicationContext(), "입력됨",
Toast.LENGTH_SHORT).show();
}
});
btnSelect.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
sqlDB = myHelper.getReadableDatabase();
Cursor cursor;
cursor = sqlDB.rawQuery("SELECT * FROM groupTBL;", null);
String strNames = "그룹이름" + "\r\n" + "--------" + "\r\n";
String strNumbers = "인원" + "\r\n" + "--------" + "\r\n";
while (cursor.moveToNext()) {
strNames += cursor.getString(0) + "\r\n";
strNumbers += cursor.getString(1) + "\r\n";
}
edtNameResult.setText(strNames);
edtNumberResult.setText(strNumbers);
cursor.close();
sqlDB.close();
}
});
}
public class myDBHelper extends SQLiteOpenHelper {
public myDBHelper(Context context) {
super(context, "groupDB", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE groupTBL ( gName CHAR(20) PRIMARY KEY, gNumber INTEGER);");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS groupTBL");
onCreate(db);
}
}
}
실제로 제가 지금 하는 프로젝트의 코딩은 아니고 sqlite를 쓸 떄 참고한
예제 코드입니다.