如何使用rxJava上的map将对象放入域中?

时间:2016-10-25 07:48:05

标签: android realm retrofit rx-java

我需要在我的领域离线数据库中保存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)
                        {

                        }
                    });

        }
    });

它运行良好(它全部下载),但是我可以在哪里调用将对象加载到我的离线数据库中? 感谢

0 个答案:

没有答案