Все рекомендуют использовать LiveData и наблюдать за ней со слоя представления. Поскольку это почти все относительно простые руководства от Google, я очень быстро столкнулся с некоторыми проблемами при создании собственного проекта.
Основным преимуществом использования LiveData является осведомленность о жизненном цикле, насколько я понял. С момента введения структурированного параллелизма в Kotlin команда Android дала нам такие вещи, как lifecycleScope.
Проблема в том, что я хочу обновить объект в своей базе данных , который я сейчас наблюдаю . Выполнение обновления внутри наблюдения здесь не сработает, поскольку оно будет перезапускаться каждый раз, когда объект обновляется в базе данных. приостановить функцию, которая возвращает объект напрямую, мне интересно, можно ли преобразовать LiveData в поток и использовать на нем такие вещи, как single ().
Вот так:
lifecycleScope.launch {
val customerWithVisits = parentBottomSheet.customerWithVisits
.asFlow()
.single()
}