책에서 여러 자습서와 sqlite 섹션을 읽고 적용 해 보았습니다. 이제 나는 그것을 시도하고 이해하기 위해 혼란스러워했지만 지금은 항상 매번 강제로 닫을 것이고 확실하지는 않습니다. 나는 내 코드를 반복 해왔지만 어쩌면 내가 sqlite/데이터베이스를 처음 사용하기 때문에 문제를 찾을 수 없다. 어떤 도움을 주시면 감사하겠습니다 :안드로이드 sqlite 문제
public class Events extends Activity {
private TextView tv;
private DataHelper dh;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
tv = new TextView(this);
dh = new DataHelper(this);
dh.deleteAll();
//dh.addEvent("James");
//Cursor c = dh.getEvent();
//startManagingCursor(c);
//tv.setText(dh.showEvent(c));
setContentView(tv);
}
}
public class EventsData extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "events.db";
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_CREATE = "CREATE TABLE" + TABLE_NAME + "(" + TITLE + " TEXT)";
private static final String DATABASE_UPGRADE = "DROP TABLE IF EXISTS " + TABLE_NAME;
public EventsData(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL(DATABASE_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL(DATABASE_UPGRADE);
onCreate(db);
}
}
public class DataHelper {
private Context context;
private SQLiteDatabase db;
private EventsData eventsData;
public DataHelper(Context context) {
this.context = context;
eventsData = new EventsData(this.context);
}
public void addEvent(String name) {
db = eventsData.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put(TITLE, name);
db.insertOrThrow(TABLE_NAME, null, cv);
}
}
내가 주석을 제거하지만 일단 응용 프로그램의 벌금을 실행 addEvent()을 주석 처리, 힘이 닫힙니다.
감사합니다. =] – semajhan