169 похожих чатов

Что то не могу понять как реализовать обновление данных списка.

Список хранится в лайвдате во vm, но он иммутабельный, значит после добавления нового элемента мне нужно заново делать запрос в БД?

28 ответов

16 просмотров

зачем? livedata на Room повесь и все

Dzmitry- Автор вопроса

Что бы DAO возвращал livedat'y?

Dzmitry- Автор вопроса

Хорошо. А если бы я не использовал лайвдату, надо было бы юзать mutableListOf и добавлять одновременно и в лист и в базу?

разве так делают?

у тебя же должно быть их две, не? публичная LiveData и приватная MutableLiveData

почему и нет? 2 LiveData (MutableLiveData для данных, а LiveData для связки)

зачем тебе 2 лив дата7 ты можешь создать 1 mutable а ее геттер будет live и все

я просто не видел чтобы шо дао в рум шо твой ретрофит отдавал бы лайвдату, вот вьюмодель да

солидарен , это полный бред

Dzmitry- Автор вопроса

Я использую только 1. Но суть в том что внутри лайвдаты список иммутабельный и я не могу добавить элементы списка, только изменить весь список целиком

еще раз говорю для таких случаев rxjava тебе в помощь)

а если я не хочу например RxJava в проект, как наблюдать за базой данных?

коллбеки

корутины, на сколько я понял, тоже могут такое дать сейчас

+

но насчет 1 мутабл лайв даты я хз)

а зачем тебе их 2?)

А если данные прилетают не по запросу? Например через Сервис? Так бы вставил в бд и все дернулось

а зачем давать вьюшке обзервить мутабл лайв дейту если она только читает данные?

вероятно ты не совсем понял)

ну? так как какая разница, методом ты или ридонли возвращаешь

большая! тебе нужен читабельный код. и чем его меньше тем лучше

Dzmitry- Автор вопроса

В таком случае нужно ли получать лайвдату во вьюмодели или обсервить изменения из репозитория во фрагменте?

вас уже разморощили? Flow же

ф-ция лайв даты заключается в что они мониторит жизненный цикл зачем ее вешать на репозиторий? читай выше там все уже написано что лучше использовать

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Ребят в СИ можно реализовать ООП?
Николай
33
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта