Можно ли использовать Kotlin Flow внутри слоя просмотра? - PullRequest
0 голосов
/ 30 мая 2020

Все рекомендуют использовать LiveData и наблюдать за ней со слоя представления. Поскольку это почти все относительно простые руководства от Google, я очень быстро столкнулся с некоторыми проблемами при создании собственного проекта.

Основным преимуществом использования LiveData является осведомленность о жизненном цикле, насколько я понял. С момента введения структурированного параллелизма в Kotlin команда Android дала нам такие вещи, как lifecycleScope.

Проблема в том, что я хочу обновить объект в своей базе данных , который я сейчас наблюдаю . Выполнение обновления внутри наблюдения здесь не сработает, поскольку оно будет перезапускаться каждый раз, когда объект обновляется в базе данных. приостановить функцию, которая возвращает объект напрямую, мне интересно, можно ли преобразовать LiveData в поток и использовать на нем такие вещи, как single ().

Вот так:

lifecycleScope.launch {
    val customerWithVisits = parentBottomSheet.customerWithVisits
        .asFlow()
        .single()
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...