Size: a a a

StartAndroid Ru RxJava

2019 December 24

C

Cactus in StartAndroid Ru RxJava
спасибо, сейчас попробую
источник

AA

Alexey Antonov 🛠 in StartAndroid Ru RxJava
Cactus
в вьюМоделе вот такой код не работает
но тут у тебя получается запрос в сеть и респонс ты хочешь сохранить в базу?
источник

C

Cactus in StartAndroid Ru RxJava
да
источник

AA

Alexey Antonov 🛠 in StartAndroid Ru RxJava
тогда на запросе в сеть Single он или Observable неважно, делаешь flatMapCompletable и вызываешь свой метод сохранения в БД
источник

AA

Alexey Antonov 🛠 in StartAndroid Ru RxJava
networkRepository.getPointsList()
   .flatMapCompletable {
       databaseRepository.insertToDbPointsList(it)
   }
   .subscribe(...)
   .(сохранение подписки для очистки)

Как-то так
источник

C

Cactus in StartAndroid Ru RxJava
Alexey Antonov 🛠
вот пример подписки на комплитабл, это Котлин, но не суть, метод moveToPreciousStatus возвращает комплитабл, подписываемся на него, обрабатываем терминальные события и сохраняем подписку, чтобы позже очистить - как то так
У меня вот в таком варианте AndroidSchedulers.mainThread() не определяется
источник

C

Cactus in StartAndroid Ru RxJava
откуда его взять?
источник

AA

Alexey Antonov 🛠 in StartAndroid Ru RxJava
io.reactivex.rxjava2:rxandroid
источник

AA

Alexey Antonov 🛠 in StartAndroid Ru RxJava
зависимость
источник

AA

Alexey Antonov 🛠 in StartAndroid Ru RxJava
Cactus
У меня вот в таком варианте AndroidSchedulers.mainThread() не определяется
но он тебе тут и не нужен, ты же на UI не передаешь данные, тебе надо подписаться на IO поток:
networkRepository.getPointsList()
   .flatMapCompletable {
       databaseRepository.insertToDbPointsList(it)
   }
   .subscribeOn(Schedulers.io())
   .subscribe(...)
   .(сохранение подписки для очистки)
источник

C

Cactus in StartAndroid Ru RxJava
.flatMapCompletable  теперь не определяется
источник

C

Cactus in StartAndroid Ru RxJava
где его брать?
источник

AA

Alexey Antonov 🛠 in StartAndroid Ru RxJava
а вот уже в месте, где ты собрался на базу подписаться, надо будет переключиться на AndroidSchedulers.mainThread(), то есть:
databaseRepository.observePointsList()
   .subscribeOn(Schedulers.io())
   .observeOn(AndroidSchedulers.mainThread())
   .subscribe({вьюшка покажи данные}, {обработал ошибку})
   .(сохранение подписки для очистки)
источник

AA

Alexey Antonov 🛠 in StartAndroid Ru RxJava
Cactus
.flatMapCompletable  теперь не определяется
io.reactivex.rxjava2:rxjava видимо не подключена
источник

C

Cactus in StartAndroid Ru RxJava
т.е. у room получается не полная поддержка rxJava? и нужно дополнительно подключать?
источник

C

Cactus in StartAndroid Ru RxJava
Добавил, но flatMapCompletable по прежнему не определяется
источник

AA

Alexey Antonov 🛠 in StartAndroid Ru RxJava
потому что getNetworkResponseList у тебя возвращает не реактивный Observable, а LiveData наверное - метод observeForever на твоём скрине выше точно не из rxJava
источник

AA

Alexey Antonov 🛠 in StartAndroid Ru RxJava
я думаю, для начала тебе надо определиться, что ты хочешь использовать в своем проекте RxJava или LiveData, сейчас у тебя каша какая-то получается
источник

C

Cactus in StartAndroid Ru RxJava
это да
источник

C

Cactus in StartAndroid Ru RxJava
ну просто передача данных из репозиторий во вьюМодел и дальше во вью на liveData,
источник