【发布时间】:2023-03-08 22:41:01
【问题描述】:
我在尝试将现有 SQL 数据库导入我的项目时遇到了一些问题。我在 src/assets 文件夹中找到了 .db 文件,并像这样配置了我的 DBHandler:
public class DatabaseOpenHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "test.db";
private static final int DATABASE_VERSION = 1;
public DatabaseOpenHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
但是,每当我尝试从表中进行原始查询时,Android 不会使用我的资产文件夹中的数据库,而是创建一个具有相同名称的空新数据库和一个仅名为 android_metadata 的表。
如何正确设置?
【问题讨论】:
-
我认为你不能从资产中引用那个。我认为您可能必须将文件复制到正确的目录中。
-
按照惯例,哪个是正确的目录?我在某处读到 SQLiteOpenHelper 默认使用一个。
-
它在“设备的内部存储”上。来自内存的路径是
data/data/{your package name}/databases/