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

我发现了很多关于这个问题的问题,但我无法修复。 我有一个资产文件夹中的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); } 

看看这个教程

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

而不是硬编码的DB_PATH (不再在JB中工作),我会推荐总是使用Android内置的API方法,

 mContext.getDatabasePath(DATABASE_NAME).getPath();