我(重新)編寫使用SQLite數據庫來存儲各種物品,此刻我試圖打開數據庫的Android應用程序,但我得到以下logcat的錯誤:無法正常訪問數據庫
08-04 13:05:52.735: ERROR/AndroidRuntime(7793): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
08-04 13:05:52.735: ERROR/AndroidRuntime(7793): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
08-04 13:05:52.735: ERROR/AndroidRuntime(7793): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
08-04 13:05:52.735: ERROR/AndroidRuntime(7793): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
08-04 13:05:52.735: ERROR/AndroidRuntime(7793): at android.os.Handler.dispatchMessage(Handler.java:99)
08-04 13:05:52.735: ERROR/AndroidRuntime(7793): at android.os.Looper.loop(Looper.java:123)
08-04 13:05:52.735: ERROR/AndroidRuntime(7793): at android.app.ActivityThread.main(ActivityThread.java:3691)
08-04 13:05:52.735: ERROR/AndroidRuntime(7793): at java.lang.reflect.Method.invokeNative(Native Method)
08-04 13:05:52.735: ERROR/AndroidRuntime(7793): at java.lang.reflect.Method.invoke(Method.java:507)
08-04 13:05:52.735: ERROR/AndroidRuntime(7793): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847)
08-04 13:05:52.735: ERROR/AndroidRuntime(7793): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)
08-04 13:05:52.735: ERROR/AndroidRuntime(7793): at dalvik.system.NativeStart.main(Native Method)
08-04 13:05:52.735: ERROR/AndroidRuntime(7793): Caused by: android.database.sqlite.SQLiteException: unable to open database file
08-04 13:05:52.735: ERROR/AndroidRuntime(7793): at android.database.sqlite.SQLiteDatabase.dbopen(Native Method)
08-04 13:05:52.735: ERROR/AndroidRuntime(7793): at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1960)
08-04 13:05:52.735: ERROR/AndroidRuntime(7793): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:887)
08-04 13:05:52.735: ERROR/AndroidRuntime(7793): at myApps.ShoppingList.Database.openDatabase(Database.java:83)
08-04 13:05:52.735: ERROR/AndroidRuntime(7793): at myApps.ShoppingList.RoomList.onCreate(RoomList.java:25)
08-04 13:05:52.735: ERROR/AndroidRuntime(7793): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
08-04 13:05:52.735: ERROR/AndroidRuntime(7793): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
08-04 13:05:52.735: ERROR/AndroidRuntime(7793): ... 11 more
我現在的代碼很不完整,我只是添加了一些小部件,並試圖讓它們正常運行,直到我得到的錯誤與缺少的代碼有關。 (確保我在應用程序中添加的代碼在我添加代碼之前工作並丟失)
我檢查了我正在訪問正確的路徑並且數據庫名稱正確,我也嘗試過得到新的應用程序來打開舊的數據庫文件(它仍然適用於舊的應用程序),但我得到了相同的logcat錯誤,所以我導致它相信這是與其他一些代碼有關的。我真的不確定該從哪裏出發。如果您需要更多信息或代碼,我會根據要求發佈。感謝所有幫助你們能給:)
下面是導致問題的ATM兩類:
這是列表類,它最終會在數據庫中有所有項目的列表複選框在列表項的右側,檢查時,它會從列表中刪除的項目,並把它放在不同的目錄(目前並不重要)上
這裏是訪問數據庫中的類:
老實說,我不確定,因爲我的項目合作伙伴處理應用程序的數據庫端。如何使用「SQLiteDatabase.open」 – Ian
SQLiteDatabase db = SQLiteDatabase.open(getDatabasePath(「foo.db」),null,SQLiteDatabase.OPEN_READONLY); ... –