我使用helper創建一個新數據庫。按照文檔所說的,當數據庫一創建,oncreate方法就會被調用,但是這個方法沒有被准確的調用。
下面是我要實現的代碼。
OpenHelper(Context context)
{
super(context, "examplee.db", null, 1 );
SQLiteDatabase sqlite = null;
Log.w(TAG, "Openhelp database, ");
sqlite = context.openOrCreateDatabase("examplee.db", Context.MODE_PRIVATE, null );
Log.e ( TAG,"SQ lite database object "+sqlite );
}
public void onOpen(SQLiteDatabase db)
{
Log.e ( TAG,"On open called ");
}
@Override
public void onCreate(SQLiteDatabase db)
{
Log.w(TAG, " On create ");
//db.execSQL(sql);
//db.execSQL("CREATE TABLE " + TABLE_NAME + "(id INTEGER PRIMARY KEY, name TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
Log.w(TAG, "Upgrading database, this will drop tables and recreate.");
//db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
//onCreate(db);
}
1.除了使用helper,還有別的方法能創建數據庫嗎?
2.在數據庫創建中,什麼樣的回調函數會被調用然後再被銷毀?
下面非常詳細的描述如何從模擬器中刪除數據庫文件(和在一個真正的android手機上調試是非常相似的)。
1.運行模擬器。如果有問題,那麼你可以忽略其余的幫助信息!
2.根據您的操作系統,停止一個命令行接口。
3.執行命令:“adb shell”。然後進入Android Debug Bridge;命令會變成像一個簡單的英鎊符號。不用管原來的操作系統,現在是一個簡化的unix操作系統。
4.現在在模擬器中,輸入命令‘ls -l'來驗證是否在根目錄(你將會看到一些非常像一個unix根目錄系統的東西)。
5.切換目錄到存儲的數據庫文件。假設你的程序在包com.sillynames。myprogram5中運行,數據庫文件被稱為“myblackbook.db”。你會發現這個文件在目錄: /data/data/com.sillynames.myprogram5/databases/myblackbook.db
中。
6.一旦在那個目錄中,就可以通過“rm myblackbook.db”刪除數據庫。