Io uso questo codice per lavorare con SQLite.Dopo l'aggiornamento ad Android 6.0, il database SQLite si blocca
Prima di eseguire l'aggiornamento ad Android 6.0, funziona perfettamente, ma ora si blocca.
in classe MyParam
public static SQLiteDatabase dbMyCount;
public static String DB_Path_MyCount = "/sdcard/GMS/MyCount.db";
su MainActivity
MyParam.dbMyCount = this.openOrCreateDatabase(MyParam.DB_Path_MyCount, MODE_WORLD_WRITEABLE, null);
SQL = "CREATE TABLE IF NOT EXISTS MyCount(_id INTEGER PRIMARY KEY AUTOINCREMENT,Tdate VARCHAR,Cust VARCHAR,";
SQL += "Prog VARCHAR,CustCode VARCHAR,OpenCode VARCHAR,Memo VARCHAR)";
MyParam.dbMyCount.execSQL(SQL);
ho anche aggiornato il mio manifast a questo:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Ma ancora ottenuto l'errore:
Error Code : 1294 (SQLITE_CANTOPEN_ENOENT) Caused By : Specified directory or database file does not exist. (unknown error (code 1294): Could not open database)
Ho cercato sul Web e non sono riuscito a trovare alcuna risposta o soluzione.
Grazie.
** MAI PERCORSI HARDCODE **. Se il database è realmente su [archiviazione esterna] (https://commonsware.com/blog/2014/04/08/storage-situation-external-storage.html), utilizzare 'Environment.getExternalStorageDirectory()' per creare un percorso ad esso. Se tale database si trova realmente su [memoria rimovibile] (https://commonsware.com/blog/2014/04/09/storage-situation-removable-storage.html), è necessario spostarlo su una memoria esterna o [memoria interna ] (https://commonsware.com/blog/2014/04/07/storage-situation-internal-storage.html). – CommonsWare