【发布时间】:2023-03-10 22:07:01
【问题描述】:
我正在处理预安装的数据库并为此使用 SqliteAssetHelper 库。
这是我的数据库代码
public class DBController extends SQLiteAssetHelper {
private static final String DATABASE_NAME = "user.db";
private static final int DATABASE_VERSION = 1;
private final String TABLE_NAME = "User";
public DBController(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
public ArrayList<UserData> getAllUserData() {
ArrayList<UserData> data_list = new ArrayList<>();
try {
// open database to query
SQLiteDatabase mySqliteDb = getWritableDatabase();
} catch (Exception e) {
Log.e("exception", "" + e);
}
close();
return data_list;
}
}
错误:资产中缺少数据库/user.db 文件(或 .zip、.gz 存档),或目标文件夹不可写
当我将代码更改为 SQLiteDatabase mySqliteDb = getReadableDatabase(); 时,我收到 android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database 错误。
我搜索问题,大多数人都说检查你的数据库是否存在于数据库文件夹中。
我尝试使用 zip 仍然没有运气。我想我错过了一些东西。
【问题讨论】: