2017-06-15 14 views
1

RxjavaとRetroFitの新機能です。私は1つの問題があります。Retxfitを保存したRxjavaは、バックグラウンドでファイルにデータを保存します。

以下のコードでサーバーからデータを取得しています。

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

       } 
      }); 

ここで、このCMSMainをバックグラウンドでファイルに保存します。これどうやってするの。 はい私はSchedular.newThread()をUIスレッドで呼び出すメソッドの後にobserverOnメソッドの中で使うことができます。

答えて

0

あなたはすぐに結果を取得し、バックグラウンド、使用中のファイルに保存したい場合:

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) { 

     } 
    }); 
関連する問題