sto cercando di utilizzare Realm con RxJava e Retrofit in modo DanLew descritto here concating ingresso dal regno e retrofit, ma si blocca se l'aggiunta di regno nella catenaCome utilizzare Realm asObservable con l'operatore concat() di RxJava?
Observable.concat(countryStorage.restoreAsObservable(),
networkService.api()
.getCountries()
.doOnNext(countryStorage::save))
.first()
.observeOn(AndroidSchedulers.mainThread())
.subscribe(//never reaching here)
stoccaggio
@Override public Observable<List<Country>> restoreAsObservable() {
Realm realm = realmProvider.get();
return realm.where(Country.class)
.findAll()
.asObservable()
.map(countries -> return realm.copyFromRealm(countries))
.first(countries -> return !countries.isEmpty())
.doOnCompleted(realm::close());
}
Sembra che questo potrebbe accadere che osservabile sia caldo dal Reame, ma nulla nei documenti e come suppongo di comporre il Reame con altri osservabili?
UPDATE: Si scopre che funziona perfettamente nel vecchio modo. La domanda rimane ancora sulle nuove API.
return Observable.just(
realm.copyFromRealm(realm.where(Country.class).findAll()))
.filter(countries -> !countries.isEmpty())
.doOnCompleted(realm::close);
https://github.com/realm/realm-java/issues/1998 Stessa domanda su github. Guarda i progressi lì. – beeender
Ho lo stesso identico problema. Hai trovato una soluzione per questo? – Eitan
'doOnCompleted' non verrà mai chiamato –