Как лучше всего использовать coroutines
с LiveData для выбора некоторых данных из базы данных, используя Room
.
Это класс My Dao с приостановленным выбором
@Dao
interface UserDao {
@Query("SELECT * from user_table WHERE id =:id")
suspend fun getUser(id: Long): User
}
Внутри класса Модель Я загружаю пользователя с viewModelScope
.
Правильный ли способ получения сущности пользователя?
fun load(userId: Long, block: (User?) -> Unit) = viewModelScope.launch {
block(database.load(userId))
}
Согласно Разработчик android упоминается
val user: LiveData<User> = liveData {
val data = database.loadUser() // loadUser is a suspend function.
emit(data)
}
Этот фрагмент кода не работает