일단 소스코드는 이렇구요.. (커니님의 강좌 소스를 사용하고 있습니다.)
public class HelpDB extends Activity {
public static final String KEY_NAME = "name";
public static final String KEY_PHONE = "phone";
public static final String KEY_ROWID = "_id";
public static final int FIND_BY_NAME = 0;
public static final int FIND_BY_PHONE = 1;
private static final String TAG = "DbAdapter";
private DatabaseHelper mDbHelper;
private SQLiteDatabase mDb;
private static final String DATABASE_CREATE =
"create table data (_id integer primary key autoincrement,"+
"name text not null, phone text not null);";
private static final String DATABASE_NAME = "data.db";
private static final String DATABASE_TABLE = "data";
private static final int DATABASE_VERSION = 1;
private Context mCtx;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//mCtx = new HelpDB(mCtx);
//mDbHelper = new DatabaseHelper(mCtx);
open();
mDbHelper.onCreate(mDb);
//mDbHelper.onCreate(mDb);
//mDb = openOrCreateDatabase(DATABASE_NAME, SQLiteDatabase.CREATE_IF_NECESSARY, null);
//mDb.execSQL("CREATE TABLE IF NOT EXISTS fruits" + "(id integer primary key autoincrement, name varcahr(30));");
//mDb.execSQL("insert into fruit(name) values('grape')");
//mDb.execSQL("insert into fruit(name) values('apple')");
final Button protectorNumber = (Button)findViewById(R.id.protectorNumber);
final Button positionTransfer = (Button)findViewById(R.id.positionTransfer);
}
public class DatabaseHelper extends SQLiteOpenHelper{
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
public void onCreate(SQLiteDatabase db){
db.execSQL(DATABASE_CREATE);
}
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){
Log.w(TAG, "Upgrading db from version" + oldVersion + " to" +
newVersion + ", which will destroy all old data");
db.execSQL("DROP TABLE IF EXISTS data");
onCreate(db);
}
}
public HelpDB(Context ctx){
this.mCtx = ctx;
}
public HelpDB open() throws SQLException{
mDbHelper = new DatabaseHelper(mCtx);
mDb = mDbHelper.getWritableDatabase();
return this;
}
public void close(){
mDbHelper.close();
}
}
문제는 onCreate메소드에서 DatabaseHelper클래스의 메소드들을 불러와서 디비를 열려고 하는데.. 호출만 했다하면 에러가 나네요;;
그리고, open()메소드등을 불러와도 계속 에러가 뜹니다;;ㅠ.ㅜ
디비어댑터를 만드시려고 하시는거면 뭔가 틀리신듯 한데요.. 액티비티일 필요가 없습니다.
http://blog.naver.com/wind5395/150079524398
참고해보세요..