Size: a a a

Android Developers

2020 July 27

Kd

Konstantin dmz9 in Android Developers
Hasan
Как делают в хорошей практике так и хочу делать. Хорошую практику тут не знаю
...бля
я тебя спрашиваю о том как ТЫ хочешь в своем приложении обрабатывать, придумай какой нибудь пример "обработки" твоих "книг и журналов"
источник

Kd

Konstantin dmz9 in Android Developers
а не как там "бест практис по обработке книг и журналов"
источник

H

Hasan in Android Developers
Konstantin dmz9
...бля
я тебя спрашиваю о том как ТЫ хочешь в своем приложении обрабатывать, придумай какой нибудь пример "обработки" твоих "книг и журналов"
Я бы создал посредника. Этого класса Model. Там получал бы данные от репозиториев. И ViewModel знал бы только этого класса. Оттуда и всё получал
источник

Kd

Konstantin dmz9 in Android Developers
блин все еще ты не понял вопрос )
источник

H

Hasan in Android Developers
Это хорошая практика или нет?
источник

H

Hasan in Android Developers
Код дать не могу сейчас)
источник

QH

Quantum Harmonizer in Android Developers
Hasan
Я бы создал посредника. Этого класса Model. Там получал бы данные от репозиториев. И ViewModel знал бы только этого класса. Оттуда и всё получал
Нет, ты у нас спрашиваешь, КАК делать. Но расскажи для начала, ЧТО нужно сделать.
источник

Kd

Konstantin dmz9 in Android Developers
ну ладно давай я тебе расскажу тогда.
вот сервер мне например присылает уведомления на телефон.
источник

Kd

Konstantin dmz9 in Android Developers
а еще у меня есть экран со всеми уведомлениями, но их я получаю с сервера. это типа всё что мне сервер когда то выслал, пуш уведомления
источник

Kd

Konstantin dmz9 in Android Developers
и например у меня есть флаг "прочитаности" уведомлений, типа юзер кликнул его в шторке сверху и прочитал или перешел куда то, не суть
источник

Kd

Konstantin dmz9 in Android Developers
вобщем, получается часть данных (уведомление) есть на сервере, часть (флаг прочитаности) хранится на девайсе (в базе например)
источник

Kd

Konstantin dmz9 in Android Developers
на список мне надо вывести некоторые "скомбинированые" данные, когда сам контент уведомления берется с сервера, а флаг прочитаности - из локальной базы на девайсе
источник

Kd

Konstantin dmz9 in Android Developers
ну вот репозиторий тут нужен например для сборки такого объекта, данные (с сервера) + флаг прочтения (с базы телефона)
а модель нужна - когда юзер кликает в списке по уведомлению - оно естественно должно пометиться прочтеным, и за это может отвечать модель которая делает так model->markAsRead( notification )
источник

Kd

Konstantin dmz9 in Android Developers
внутри модели уже берется у объекта его ид, и в базе делается пометка что его прочитали, снаружи это вызов метода модели с аргументом notification
можно не передавать объект, передать id типа model->markAsRead( notificationID ) этого тоже хватит
источник

Kd

Konstantin dmz9 in Android Developers
какие тут бест практис - как хочешь так и делай, главное чтоб удобно было
источник

H

Hasan in Android Developers
Это более продвинутый пример но думаю понял.
источник

Kd

Konstantin dmz9 in Android Developers
но раз уж ты про паттерн репозиторий заговорил - репозиторий это не про сохранение, это про "получение"
источник

Kd

Konstantin dmz9 in Android Developers
многие делают ошибку добавляя в репозиторий что то типа repository->save (myObject) или ->update, это не совсем корректно
источник

Kd

Konstantin dmz9 in Android Developers
т.к. ты не говоришь почтовому ящику "сохрани мое письмо", ты несешь его на почту
источник

H

Hasan in Android Developers
Вот скажите мне. Где вы обрабатываете данные из репозиториев?
источник