I use this tutorial to import a database into my application.
It works great on API 10,
but in API 17 it throws the following error:
05-19 14:52:46.492: E/SQLiteLog(1893): (14) cannot open file at line 30176 of [00bb9c9ce4] 05-19 14:52:46.492: E/SQLiteLog(1893): (14) os_unix.c:30176: (2) open(/data/data/com.example.koday/databases/dizionario7.sqlite) - 05-19 14:52:46.492: E/SQLiteDatabase(1893): Failed to open database '/data/data/com.example.koday/databases/dizionario7.sqlite'. 05-19 14:52:46.492: E/SQLiteDatabase(1893): android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database 05-19 14:52:46.492: E/SQLiteDatabase(1893): at android.database.sqlite.SQLiteConnection.nativeOpen(Native Method) 05-19 14:52:46.492: E/SQLiteDatabase(1893): at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:209) 05-19 14:52:46.492: E/SQLiteDatabase(1893): at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:193) 05-19 14:52:46.492: E/SQLiteDatabase(1893): at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463) 05-19 14:52:46.492: E/SQLiteDatabase(1893): at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185) 05-19 14:52:46.492: E/SQLiteDatabase(1893): at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177) 05-19 14:52:46.492: E/SQLiteDatabase(1893): at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:804) 05-19 14:52:46.492: E/SQLiteDatabase(1893): at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:789) 05-19 14:52:46.492: E/SQLiteDatabase(1893): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694) 05-19 14:52:46.492: E/SQLiteDatabase(1893): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:669) 05-19 14:52:46.492: E/SQLiteDatabase(1893): at com.example.koday.DataBaseHelper.checkDataBase(DataBaseHelper.java:82) 05-19 14:52:46.492: E/SQLiteDatabase(1893): at com.example.koday.DataBaseHelper.createDataBase(DataBaseHelper.java:45) 05-19 14:52:46.492: E/SQLiteDatabase(1893): at com.example.koday.MainActivity.frontquiz(MainActivity.java:70) 05-19 14:52:46.492: E/SQLiteDatabase(1893): at com.example.koday.MainActivity.onCreate(MainActivity.java:64) 05-19 14:52:46.492: E/SQLiteDatabase(1893): at android.app.Activity.performCreate(Activity.java:5104) 05-19 14:52:46.492: E/SQLiteDatabase(1893): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 05-19 14:52:46.492: E/SQLiteDatabase(1893): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) 05-19 14:52:46.492: E/SQLiteDatabase(1893): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 05-19 14:52:46.492: E/SQLiteDatabase(1893): at android.app.ActivityThread.access$600(ActivityThread.java:141) 05-19 14:52:46.492: E/SQLiteDatabase(1893): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 05-19 14:52:46.492: E/SQLiteDatabase(1893): at android.os.Handler.dispatchMessage(Handler.java:99) 05-19 14:52:46.492: E/SQLiteDatabase(1893): at android.os.Looper.loop(Looper.java:137) 05-19 14:52:46.492: E/SQLiteDatabase(1893): at android.app.ActivityThread.main(ActivityThread.java:5039) 05-19 14:52:46.492: E/SQLiteDatabase(1893): at java.lang.reflect.Method.invokeNative(Native Method) 05-19 14:52:46.492: E/SQLiteDatabase(1893): at java.lang.reflect.Method.invoke(Method.java:511) 05-19 14:52:46.492: E/SQLiteDatabase(1893): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 05-19 14:52:46.492: E/SQLiteDatabase(1893): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 05-19 14:52:46.492: E/SQLiteDatabase(1893): at dalvik.system.NativeStart.main(Native Method) 05-19 14:52:47.683: E/(1893): database aperto 05-19 14:52:47.683: E/SQLiteLog(1893): (1) no such table: dati
Here is my code:
public class DataBaseHelper extends SQLiteOpenHelper {
EDIT EDIT EDIT EDIT EDIT I set the resolution in my manifest:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
Thanks for the help!
source share