我試圖從我的SD卡加載數據庫文件,但是發出異常。 下面是例外無法以讀取/寫入模式打開數據庫
org.sqlite.database.sqlite.SQLiteException: not an error (code 0): Could not open the database in read/write mode.
這裏是我的代碼:
public void csr_test_1() throws Exception
{
DB_PATH=new File("/storage/sdcard1/sk2.db");
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(DB_PATH, null);
String res = "";
Cursor c = db.rawQuery("SELECT synsetid, w2.lemma FROM sense LEFT JOIN word AS w2 ON w2.wordid=sense.wordid WHERE sense.synsetid IN (SELECT sense.synsetid FROM word AS w1 LEFT JOIN sense ON w1.wordid=sense.wordid WHERE w1.lemma='"+ "life" + "') AND w2.lemma<>'" + "life" + "'", null);
if(c!=null){
boolean bRes;
for(bRes=c.moveToFirst(); bRes; bRes=c.moveToNext()){
String x = c.getString(0);
res = res + "." + x;
}
}else{
}
test_result("csr_test_1.1", res, ".one.two.three");
db.close();
test_result("csr_test_1.2", db_is_encrypted(), "unencrypted");
}
這些許可我使用
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="com.android.vending.BILLING" />
![enter image description here][1]
![enter image description here][2]
請幫助我出去...謝謝小號
你檢查你的權限讀取/寫入外部存儲? –
您是否在您的Manifest文件中添加了<使用權限android:name =「android.permission.WRITE_EXTERNAL_STORAGE」/>' – CRUSADER
Hi hi crusader 我已經添加了我的AndroidMainfest.xml的權限 仍然無法正常工作,它工作正常與模擬器,但是當我在設備中運行它顯示一個exceptoion。 – Yushi