Home » Android » SQLite Android . unable to open database file

SQLite Android . unable to open database file

Posted by: admin June 15, 2020 Leave a comment

Questions:

I found a lot of question about this problem, but i can’t fix it.
I have a sqlite db in assets folder:

assets/data/data/{package_name}/databases/mydb.db

I can open database and read data before change one table structure. I try to uninstall the app and reinstall again, but i get the same exception.

What can i do now?

Thanks in advance

EDIT

// The Android's default system path of your application database.
private static String DB_PATH = "/data/data/{mypagackename}/databases/";

private static String DB_NAME = "mydb.db";

Open database (Before change table structure, adding some fields, it doesn’t work)

public void openDataBase() throws SQLException {

    // Open the database
    String myPath = DB_PATH + DB_NAME;
    myDataBase = SQLiteDatabase.openDatabase(myPath, null,
            SQLiteDatabase.OPEN_READONLY);

}
How to&Answers:

Look at this tutorial

It Explains how to work with preloaded database. Basically you can’t use database right from the assets, you have to copy it over into internal data storage first and open it from there

Answer:

Instead of hard coded DB_PATH (no longer work in JB), I would recommend always go with Android inbuilt API method,

mContext.getDatabasePath(DATABASE_NAME).getPath();