我正在try 学习如何在Android应用程序中使用Room来存储本地数据.我试着按照指示从:https://developer.android.com/training/data-storage/room
我设法让一个简单的应用程序工作,其中数据库定义为:
@Database(entities = [Location::class], version = 1, exportSchema = true)
abstract class LocationDatabase : RoomDatabase() {
abstract fun locationDAO(): LocationDAO
companion object {
@Volatile
private var INSTANCE: LocationDatabase? = null
fun getDatabase(context: Context): LocationDatabase {
return INSTANCE ?: synchronized(this) {
val instance = Room.databaseBuilder(
context.applicationContext,
LocationDatabase::class.java,
"location_database"
)
.fallbackToDestructiveMigration()
.build()
INSTANCE = instance
instance
}
}
}
}
通过在应用级build.gradle.kts文件中包含以下内容,我可以在构建项目时提取数据库的模式.
ksp {
arg("room.schemaLocation", "$projectDir/schemas")
}
我想问我如何使用这个模式来创建一个数据库文件并预填充它,然后在创建应用程序时将其用作内容源.我试图完成的是用一些数据预填充Room数据库,这些数据将在应用程序运行时被访问.
我试图找到一些关于如何继续这方面的指导,但未能找到一个我可以遵循的资源.