Вы должны предоставить один экземпляр вашей базы данных для всего приложения.Вы можете использовать синглтон для архивирования, например:
@Database(entities = [YourEntity::class], version = 1)
abstract class YourRoomDatabase: RoomDatabase() {
abstract fun yourDao(): YourDao
companion object {
private var INSTANCE: YourRoomDatabase? = null
fun getInstance(context: Context): YourRoomDatabase {
if (INSTANCE == null) {
INSTANCE = Room.databaseBuilder(context, YourRoomDatabase::class.java, "yourdb.db").build()
}
return INSTANCE!!
}
fun destroyInstance() {
INSTANCE = null
}
}
}
Затем вы можете вызывать его из любого места, как вам нравится:
YourRoomDatabase.getInstance(context)