TGViewer
Android Live 🤖 Android Live 🤖 @android_live · 5.13K subscribers
Post #107 2.06K
Сегодня продолжу тему #советы

Задача
Есть два источника одних и тех же объектов. Например, база данных и сервер.
Данные, получаются из кэша БД быстрее, чем с сервера. Но актуальная информация на сервере. Хотим показать пользователю данные с кэша, а потом после прихода информации с сервера показать их.

Решение
Одним из рабочих вариантов - создание PublishSubject, который подписывается на изменение данных, и в который попадает информация из каждого Observable.
Если не использовать Rx, то решение становится огромным куском кода.
В качестве альтернативы хочу предложить оператор Observable.concatEager(observables). Он принимает список Observable, который включает в себя получение данных из кэша и из сети. В результате получение будет запущенно параллельно, и вернутся данные из кэша, затем из сети. Важно помнить о порядке входящих источников.

Читайте подробнее об операторе и изучайте исходный код.
More from @android_live
  1. Oct 6, 2026Git --delete-merged На днях узнал про любопытную команду в Git — --delete-merged . Суть пр…
  2. Oct 5, 2026Почему Android-эмулятор жрёт 8 ГБ? На днях попался репозиторий с CLI-тулзой, которая обеща…
  3. Sep 29, 2026Post #1130
  4. Sep 29, 2026На днях попалась вакансия мечты Вроде всё начинается как неплохо: удалёнка, Kotlin/Jetpack…
  5. Sep 28, 2026На днях ревьювил код, связанный с копированием в буфер обмена И заметил, что многие прилож…
  6. Sep 26, 2026AirDrop на Android, похоже, уже есть на нескольких моделях Android Но, оказывается, всё эт…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →