Список хранится в лайвдате во vm, но он иммутабельный, значит после добавления нового элемента мне нужно заново делать запрос в БД?
зачем? livedata на Room повесь и все
Что бы DAO возвращал livedat'y?
Хорошо. А если бы я не использовал лайвдату, надо было бы юзать mutableListOf и добавлять одновременно и в лист и в базу?
разве так делают?
у тебя же должно быть их две, не? публичная LiveData и приватная MutableLiveData
почему и нет? 2 LiveData (MutableLiveData для данных, а LiveData для связки)
зачем тебе 2 лив дата7 ты можешь создать 1 mutable а ее геттер будет live и все
я просто не видел чтобы шо дао в рум шо твой ретрофит отдавал бы лайвдату, вот вьюмодель да
солидарен , это полный бред
Я использую только 1. Но суть в том что внутри лайвдаты список иммутабельный и я не могу добавить элементы списка, только изменить весь список целиком
еще раз говорю для таких случаев rxjava тебе в помощь)
а если я не хочу например RxJava в проект, как наблюдать за базой данных?
коллбеки
корутины, на сколько я понял, тоже могут такое дать сейчас
но насчет 1 мутабл лайв даты я хз)
а зачем тебе их 2?)
А если данные прилетают не по запросу? Например через Сервис? Так бы вставил в бд и все дернулось
а зачем давать вьюшке обзервить мутабл лайв дейту если она только читает данные?
вероятно ты не совсем понял)
ну? так как какая разница, методом ты или ридонли возвращаешь
большая! тебе нужен читабельный код. и чем его меньше тем лучше
В таком случае нужно ли получать лайвдату во вьюмодели или обсервить изменения из репозитория во фрагменте?
вас уже разморощили? Flow же
Что?
ф-ция лайв даты заключается в что они мониторит жизненный цикл зачем ее вешать на репозиторий? читай выше там все уже написано что лучше использовать
Обсуждают сегодня