Я пытался выполнить задачу, используя RxJava.В основном, есть четыре наблюдаемые.Я понял, как запустить Observables последовательно.Однако я не смог получить ответ о том, как передать один вывод другому.Наблюдаемые имеют вид:
- Получить удаленные данные, такие как список
- Получить тот же список локальных данных
- Удалить все локальные данные из 2-й наблюдаемой
- Вставить удаленный список
Я использую модификацию и Room для доступа к удаленным и локальным данным соответственно.Любая помощь или предложение было бы действительно здорово.
Пока что я сделал (это точно не правильно)
disposables.add(Observable.zip(dataManager.allXs, dataManager.Xs, object : BiFunction<List<X>, List<X>, List<X>> {
@Throws(Exception::class)
override fun apply( s: List<X>, s2: List<X>): List<X> {
dataManager.deleteXs(s2)
return s
}
}).map {
dataManager.insertXs(it)
}. subscribeOn(Schedulers.computation()).observeOn(AndroidSchedulers.mainThread()).
subscribe {
}
Спасибо