我在资产/数据库中有一个数据库,也有一个类可以从我的数据库中读取数据
但是当打开数据库时,我得到了缺少数据库错误
注意:我在资产/数据库中有myDb.zip
这是我的类来打开数据库:
public class DB_helper extends SQLiteAssetHelper {
private static final String DATABASE_NAME = "myDb.db";
private static final int DATABASE_VERSION = 1;
public DB_helper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
}
在这一行中,我称之为:
SQLiteDatabase mydb = new DB_helper(appContext).getWritableDatabase();
我收到此错误:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: ir.dpsoft.saman, PID: 10620
com.readystatesoftware.sqliteasset.SQLiteAssetHelper$SQLiteAssetException: Missing databases/myDb.db file (or .zip, .gz archive) in assets, or target folder not writable
最佳答案
SQLiteAssetHelper
只是将.zip
或.gz
后缀添加到基本名称,而不替换文件路径中的任何内容。
您可以使用资产名称或代码来解决此问题。要修复资产,请以myDb.db.zip
而不是myDb.zip
的形式运送数据库。或者,要修复代码,请将数据库名称传递为myDb
而不是myDb.db
。