FileNotFoundException -无法导入json与房间实例



我试图用一个简单的JSON填充我的房间数据库,我在原始文件夹中,这是我的代码

fun getInstance(context: Context): CarDatabase {
if(instance == null) {
instance =  Room.databaseBuilder (
context,
CarDatabase::class.java, "cars_table"
).createFromAsset("app/res/raw/cars_sample.json").build()
}
return instance as CarDatabase
}

我得到这个

肇因:java.io.FileNotFoundException: app/res/raw/cars_sample.json

除非您的模块有src/main/assets/app/res/raw/cars_sample.json,否则这不是assets/到JSON的有效路径。而且,由于Android无法找到JSON,我猜你的模块没有该资产。

从您正在使用的内容来看,我猜您正在尝试从原始资源填充数据库。原始资源类似于资产,但它们不是资产。

你需要为你的模块创建一个assets/目录,并将JSON移到那里。

最新更新