2012-10-01 61 views
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) 

下表是有數據庫文件 enter image description here

我需要在這裏做什麼?????

+0

此錯誤可能是由於磁盤空間不足造成的, https://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html #getReadableDatabase() –

回答

相關問題