我试图用一个简单的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移到那里。