4
我有一個sqlite數據庫文件,我無法讀寫這個數據庫文件。 我使用這個代碼:Android:試圖寫一個只讀數據庫
fileIsExists = new File(Environment.getExternalStorageDirectory()
+ "/bbmp/bbmp2.sqlite");
if (fileIsExists.exists()) {
db = SQLiteDatabase.openDatabase(fileIsExists.toString(), null,
SQLiteDatabase.OPEN_READWRITE);
}
此擲以下錯誤:
10-01 17:09:17.343: E/Database(9216): DELETE failed setting locale
10-01 17:09:17.374: E/Database(9216): Failed to setLocale() when constructing, closing the database
10-01 17:09:17.374: E/Database(9216): android.database.sqlite.SQLiteException: attempt to write a readonly database
10-01 17:09:17.374: E/Database(9216): at android.database.sqlite.SQLiteDatabase.native_setLocale(Native Method)
10-01 17:09:17.374: E/Database(9216): at android.database.sqlite.SQLiteDatabase.setLocale(SQLiteDatabase.java:1987)
10-01 17:09:17.374: E/Database(9216): at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1855)
10-01 17:09:17.374: E/Database(9216): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:820)
10-01 17:09:17.374: E/Database(9216): at com.pixel.bbmp2.Bbmp2Activity.checkDirectory(Bbmp2Activity.java:150)
10-01 17:09:17.374: E/Database(9216): at com.pixel.bbmp2.Bbmp2Activity.onCreate(Bbmp2Activity.java:115)
10-01 17:09:17.374: E/Database(9216): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
10-01 17:09:17.374: E/Database(9216): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
10-01 17:09:17.374: E/Database(9216): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
10-01 17:09:17.374: E/Database(9216): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
10-01 17:09:17.374: E/Database(9216): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
10-01 17:09:17.374: E/Database(9216): at android.os.Handler.dispatchMessage(Handler.java:99)
10-01 17:09:17.374: E/Database(9216): at android.os.Looper.loop(Looper.java:123)
10-01 17:09:17.374: E/Database(9216): at android.app.ActivityThread.main(ActivityThread.java:3683)
10-01 17:09:17.374: E/Database(9216): at java.lang.reflect.Method.invokeNative(Native Method)
10-01 17:09:17.374: E/Database(9216): at java.lang.reflect.Method.invoke(Method.java:507)
10-01 17:09:17.374: E/Database(9216): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
10-01 17:09:17.374: E/Database(9216): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
10-01 17:09:17.374: E/Database(9216): at dalvik.system.NativeStart.main(Native Method)
下表是有數據庫文件
我需要在這裏做什麼?????
此錯誤可能是由於磁盤空間不足造成的, https://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html #getReadableDatabase() –