0
在我的android應用程序中,我已經獲得了下面的代碼來創建我的數據庫。這工作沒有問題,但直接執行此代碼後,我試圖getReadableDatabase(),它說數據庫被鎖定拋出異常當我在Android中創建它後嘗試getReadableDatabase()時,SQLite被鎖定
我需要關閉/去任何東西在這裏,以防止它被鎖定?謝謝!
//這樣做是爲了看看它的創建又
private boolean checkDataBase() {
SQLiteDatabase checkDB = null;
try {
String myPath = "/data/data/com.hats.android/databases/";
checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);
} catch (SQLiteException e) {
//database does't exist yet.
}
if (checkDB != null) {
checkDB.close();
}
return checkDB != null ? true : false;
}
//然後在下面做是爲了創建它(下面這是getReadableDatabase()錯誤)
@Override
public void onCreate(SQLiteDatabase db) {
SQLiteDatabase checkDB = null;
String myPath = "/data/data/com.hats.android/databases/";
checkDB = this.myContext.openOrCreateDatabase(myPath, SQLiteDatabase.CREATE_IF_NECESSARY, null);
checkDB.execSQL("CREATE TABLE hats (hat_id INTEGER PRIMARY KEY AUTOINCREMENT, type TEXT)");
checkDB.close();
}
的參數是其實是有點過 - 我被傳入null。如果數據庫尚不存在,如何啓動數據庫以對其執行SQL操作? – 2011-06-15 00:04:41
該參數不應該爲空。你可以發佈你的構造函數的代碼嗎? – Noel 2011-06-15 00:15:31
ahh事實證明,我直接調用了這個null參數,然後在我調用getReadableDatabase()方法之後調用了這個方法,這個方法在我的部分中調用的時候是巨大的失敗。感謝您的澄清! – 2011-06-15 00:24:37