SQLite Android。无法打开数据库文件

时间:2012-07-26 14:09:11

标签: android database sqlite

我发现了很多关于这个问题的问题,但我无法修复它。 我在资源文件夹中有一个sqlite数据库:

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

我可以在更改一个表结构之前打开数据库并读取数据。我尝试卸载应用程序并重新安装,但我得到相同的例外。

我现在能做什么?

提前致谢

修改

// 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";

打开数据库(在更改表结构之前,添加一些字段,它不起作用)

public void openDataBase() throws SQLException {

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

}

2 个答案:

答案 0 :(得分:10)

查看this tutorial

它解释了如何使用预加载的数据库。基本上你不能从资产中使用数据库,你必须先将其复制到内部数据存储中并从那里打开它

答案 1 :(得分:3)

而不是硬编码DB_PATH(不再适用于JB),我建议总是使用Android内置API方法,

mContext.getDatabasePath(DATABASE_NAME).getPath();