【问题标题】:Rxjava with Retrofit save emit data in file in background带有 Retrofit 的 Rxjava 在后台保存在文件中发出数据
【发布时间】:2017-11-18 03:01:36
【问题描述】:

我对 Rxjava 和 RetroFit 很陌生。我有一个问题。

我正在使用以下代码从服务器获取数据。

 ApiUtils.getMainRestService(mContext).getMain(url).
            subscribeOn(Schedulers.newThread()).observeOn(AndroidSchedulers.mainThread()).
            subscribe(new Action1<CMSMain>() {
                @Override
                public void call(CMSMain CMSMain) {

                }
            });

现在我想将此 CMSMain 保存到后台文件中。我怎样才能做到这一点。 是的,我可以在observerOn方法中使用Schedular.newThread(),之后该方法将在UI线程中调用。

【问题讨论】:

    标签: android retrofit rx-java


    【解决方案1】:

    如果您想立即获得结果并在后台保存到文件,请使用:

    ApiUtils.getMainRestService(mContext).getMain(url)
        .map(new Func1<CMSMain, CMSMain>() {
            @Override
            public CMSMain call(final CMSMain cmsMain) {
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        saveToFile(cmsMain);
                    }
                }).start();
                return cmsMain;
            }
        })
        .subscribeOn(Schedulers.newThread()).observeOn(AndroidSchedulers.mainThread())
        .subscribe(new Action1<CMSMain>() {
            @Override
            public void call(CMSMain CMSMain) {
    
            }
        });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多