Ich spiele mit RXJava, Nachrüstung in Android. Ich versuche, das zu erreichen, folgende:RxJava + Retrofit, erhalten Sie eine Liste und fügen Sie zusätzliche Informationen für jeden Artikel
ich einen Anruf regelmäßig abzufragen müssen, die mir eine beobachtbare geben> (Von hier aus konnte ich es tat)
Sobald ich diese Liste erhalte ich in jeder Lieferung iterieren wollen und rufen Sie eine andere Methoden, die mir die ETA geben (so nur mehr Info) Ich möchte diese neue Info in die Lieferung anhängen und geben Sie die vollständige Liste mit den zusätzlichen Informationen zu jedem Artikel.
Ich weiß, wie man das ohne rxjava macht, sobald ich die Liste bekomme, aber ich würde gerne üben.
Dies ist mein Code so weit:
pollDeliveries = Observable.interval(POLLING_INTERVAL, TimeUnit.SECONDS, Schedulers.from(AsyncTask.THREAD_POOL_EXECUTOR))
.map(tick -> RestClient.getInstance().getApiService().getDeliveries())
.doOnError(err -> Log.e("MPB", "Error retrieving messages" + err))
.retry()
.subscribe(deliveries -> {
MainApp.getEventBus().postSticky(deliveries);
});
Dies wird mir eine Liste der Lieferungen geben. Jetzt möchte ich den zweiten Teil erreichen.
Hoffe, ich war genug klar. Dank
Nicht sicher, aber Sie könnten in der Lage sein flatmap zu verwenden, um die Lieferungen in eine neue beobachtbaren enthält ETA http zu transformieren://reactivex.io/documentation/operators/flatmap.html – cYrixmorten
Ja, ich habe ein paar Beispiele gesehen, aber ich konnte nicht wirklich verstehen, wie es geht ... es ist das erste Mal, dass ich rxjava benutze – Marcel
Hier ist ein Beispiel, das sich anmeldet GPS-Ort, dann Transformation in Adresssuche Observable https://github.com/mcharmas/Android-ReactiveLocation/blob/master/sample/src/main/java/pl/charmas/android/reactivocation/sample/MainActivity.java Zeile 90 – cYrixmorten