Используя LiveDataReactiveStreams
, можно преобразовать LiveData
в Publisher
. Но чтобы использовать метод RxJava2, такой как withLatestFrom
, мне нужно иметь Observable
вместо Publisher
. Есть ли другой способ конвертировать Publisher в Observable помимо использования этой (устаревшей) библиотеки — RxJava‹->ReactiveStreams ?
Преобразование LiveData в Observable для использования RxJava
Ответы (1)
Так что мне удалось сделать что-то вроде этого. Но я не знаю, куда поместить этот код в структуру проекта Android, так как toPublisher
требует экземпляр Activity.
val rxDataPublisher: Publisher<DataSnapshot> = LiveDataReactiveStreams.toPublisher(this@LocationActivity,fireBaseLiveData)
val rxLocationPublisher: Publisher<Location> = LiveDataReactiveStreams.toPublisher(this@LocationActivity, locationLiveData)
val rxFlowable: Flowable<Pair<Location, DataSnapshot>> = Flowable.fromPublisher(rxDataPublisher)
.withLatestFrom(rxLocationPublisher, BiFunction{t1, t2 -> Pair(t2,t1) })
val flowableToLiveData = LiveDataReactiveStreams.fromPublisher(rxFlowable)
person
dawzaw
schedule
23.04.2018
Flowable
являетсяPublisher
и может работать сPublisher
s. Скорее всего, вам не нужно конвертировать вObservable
. - person akarnokd   schedule 23.04.2018