我需要在我的领域离线数据库中保存JSON的结果。我已经使用RxJava下载了它。 所以我需要使用这段代码:
public Subscription loadObjectsFromNetwork() {
return objectApi.getObjects()
.subscribeOn(Schedulers.io())
.subscribe(response -> {
try(Realm realmInstance = Realm.getDefaultInstance()) {
realmInstance.executeTransaction(airport -> realm.insertOrUpdate(airport.objects));
}
});
}
我的问题是我在RxJava的开头,我不明白如何把它放在我的代码中。
这就是我所做的:
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)
{
}
});
}
});
它运行良好(它全部下载),但是我可以在哪里调用将对象加载到我的离线数据库中? 感谢