안드로이드 개발 질문/답변
(글 수 45,052)
package com.hanback.testdb;
import static android.provider.BaseColumns._ID; import static com.hanback.testdb.Constants.TABLE_NAME; import static com.hanback.testdb.Constants.TIME; import static com.hanback.testdb.Constants.TITLE; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.util.Log;
public class EventsData extends SQLiteOpenHelper{
private static final String DATABASE_NAME = "events.db";
private static final int DATABASE_VERSION = 1;
//생성자는 반드시 구현해야 한다.
public EventsData(Context ctx){
super(ctx, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db){
//최초에 사용할 테이블을 생성한다.
db.execSQL("CREATE TABLE" + TABLE_NAME + "(" + _ID +
"INTEGER PRIMARY KEY AUTOINCRENEMT," + TIME
+ "INTEGER," + TITLE + "TEXT NOT NULL);");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion,
int newVersion){
db.execSQL("DROP TABLE IF EXISTS" + TABLE_NAME);
onCreate(db);
}
}package com.hanback.testdb;
import static android.provider.BaseColumns._ID; import static com.hanback.testdb.Constants.TABLE_NAME; import static com.hanback.testdb.Constants.TIME; import static com.hanback.testdb.Constants.TITLE; import android.app.Activity; import android.content.ContentValues; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.util.Log; import android.widget.TextView;
public class TestDBActivity extends Activity {
/** Called when the activity is first created. */
private static String[] FROM = {_ID, TIME, TITLE,};
private static String ORDER_BY = TIME + "DESC";
private EventsData events;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
events = new EventsData(this);
try{
addEvent("Hello, Android!");
Cursor cursor = getEvents();
showEvents(cursor);
}
finally {
events.close();
}
Log.i("MY_TAG", "onCreate()");
}
private void addEvent(String string){
SQLiteDatabase db = events.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(TIME, System.currentTimeMillis());
values.put(TITLE, string);
db.insertOrThrow(TABLE_NAME, null, values);
Log.i("MY_TAG", "addEvent()");
}
private Cursor getEvents(){
SQLiteDatabase db = events.getReadableDatabase();
Cursor cursor = db.query(TABLE_NAME, FROM, null, null, null, null, ORDER_BY);
startManagingCursor(cursor);
return cursor;
}
private void showEvents(Cursor cursor){
StringBuilder builder = new StringBuilder("Saved events:\n");
while(cursor.moveToNext()){
long id = cursor.getLong(0);
long time = cursor.getLong(1);
String title = cursor.getString(2);
builder.append(id).append(":");
builder.append(time).append(":");
builder.append(title).append("\n");
Log.i("MY_TAG", "showEvents()");
}
TextView text = (TextView)findViewById(R.id.text);
text.setText(builder);
}
}에러.bmp
어떻게 해야 하나요??
디버깅을 좀 할 줄 알려면 많이 해보면 되나요???
대충 어디가 문제인줄은 알겠는데 뭐가 문제인가가 모르겠네요
고수님들 좀 도와주세요



