Ich muss eine lange Liste von 30k Flughäfen herunterladen und auf eine Offline-Datenbank stellen.Wie aus rxJava extrahieren und auf Realm Offline-Datenbank setzen?
Ich habe diesen Code, um die json aus dem Internet heruntergeladen werden:
bFetch.setOnClickListener(new View.OnClickListener() {
public void onClick(View v)
{
Retrofit retrofit = new Retrofit.Builder()
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.baseUrl(GithubService.SERVICE_ENDPOINT).build();
GithubService service = retrofit.create(GithubService.class);
service.getAirport()
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<List<Airport>>() {
@Override
public void onCompleted()
{
bClear.setText("OK");
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(List<Airport> airports)
{
Log.d("msh",String.valueOf(airports.size()));
}
});
}
});
und es funktioniert sehr gut, aber wenn ich nur ein Objekt extrahieren mag, wie Karte oder einen flatMap, es gibt mir diese:
service.getAirport()
.map(new Func1<List<Airport>, Airport>()
{
@Override
public Airport call(List<Airport> airports) {
return null;
}
})
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<List<Airport>>() {
@Override
public void onCompleted()
{
bClear.setText("OK");
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(List<Airport> airports)
{
Log.d("msh",String.valueOf(airports.size()));
}
});
}
});
mit dem Fehler:
Cannot resolve method 'subscribe(anonymous rx.Subscriber>)
so:
- was muss ich tun, um es zu lösen? Mein Problem ist, dass ich nicht sehr gut rX verstehe und ich habe auch ein wenig Verwirrung
- könnte ich Daten in Realm-Datenbank in map() -Methode (wenn es funktioniert)?
Danke
http://stackoverflow.com/documentation/android/3187/realm/14393/using-realm-with-rxjava#t=201608051116154137207 – EpicPandaForce
@EpicPandaForce Ich verstehe nicht, wie man ein anderes Abonnement macht und wo – nani
Nun, wo verwenden Sie die Daten aus dem Realm – EpicPandaForce