我刚用AndroidStudio创建了一个新项目。我在app/src/main/assets/databases
中创建了一个db文件。我的app/app.iml
有此值:
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
我在源代码中添加了这个:
if(getDatabasePath("map.db").exists()) {
Log.v("MyApplication", "exists");
} else {
Log.v("MyApplication", "not exists");
}
我的消息是“不存在”。
我有这个结构:
app/src/main/assets
├── databases
│ └── map.db
└── map.db (just to be sure)
在Android设备监视器的文件资源管理器中,我没有该文件。
有解决方案吗?
答案 0 :(得分:2)
getDatabasePath
将数据库查找到/data/data/packagename.yourapp/databases
,而不是assets/
文件夹。
编辑。您必须从资产文件夹中复制该文件 运行时的正确位置。您可以按照@CommonsWare
的建议使用SQLiteAssetsHelper