У меня есть модель класса/представления базы данных, которую я хотел бы использовать в других моделях представления для управления данными локально. Я смог внедрить базу данных номеров с одной моделью View, но у меня есть несколько разных типов классов данных, и я бы хотел отдельную ViewModel для каждого. Как я могу реализовать класс базы данных, который у меня есть, чтобы различные ViewModels могли получить доступ к базе данных комнаты? Ниже базы данных ViewModel, а также пример ViewModel.class DatabaseModel(): ViewModel() {
lateinit var database: AppDatabase
fun setDatabase(context: Context) {
database = Room.databaseBuilder(
context,
AppDatabase::class.java, "database"
).build()
}
}
< /code>
viewmodel: < /p>
class DataModel(): ViewModel() {
lateinit var database: AppDatabase
private val _mutableDataFlow: MutableStateFlow = MutableStateFlow(mutableListOf())
val data: StateFlow = _mutableDataFlow.asStateFlow()
fun setDatabase(context: Context) {
database = Room.databaseBuilder(
context,
AppDatabase::class.java, "database"
).build()
}
fun loadData() {
viewModelScope.launch {
_mutableDataFlow.value = database.dataDao().getAll()
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... iew-models
Использование RoomDatabase в моделях с несколькими видами ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение