2017-07-07 12 views
0

私は現在、APIの解析にRetrofit2を使用しています。私の新しいアプリケーションではRxJava + Retrofitと変更するように求められました。どうすればこれを実現できますか? とRetrofitを一緒に使用するメリットは何ですか?RXレトロフィット-2を搭載したレギュラーVS通常のレトロフィット-2

ご協力いただければ幸いです。以下は

私は私の新しいアプリケーションのためにRxJava +レトロフィットでそれを変更するように頼まれたとおり、私は

Retrofit.Builder builder =new Retrofit.Builder().baseUrl(API_BASE_URL).client(httpClient).addConverterFactory(GsonConverterFactory.create()); 
Retrofit retrofit = builder.client(httpClient).build(); 
return retrofit.create(serviceClass); 
+1

最初にrxJavaを学び始めるには、このビデオを見てください[link](https://news.realm.io/news/rxify-rxjava-operators-droid-boston-jain-2017/) –

+0

どのバージョンのrxjava ? –

答えて

3

を解析し、通常のRetrofitのために使っていたコードです。どうすればこれを実現できますか?

プロジェクトに依存関係としてcom.squareup.retrofit2:adapter-rxjava2を追加し、Retrofit.Builderでそれを設定します。

addCallAdapterFactory(
    RxJava2CallAdapterFactory.createWithScheduler(Schedulers.io())) 

次にあなたが

Observable<ReturnType> op(...) 

Call<ReturnType> op(...) 

から自分のレトロフィット・インタフェースを変更することができます

enqueue()の代わりに、あなたのリクエストを飛ばすためにobservableに登録してください。

レトロフィットサービスAPIの呼び出しは、アプリケーション内の他のrxjavaコードとうまく統合レトロフィットと一緒にRxJavaを使用する利点は何ですか。アプリケーションのどこか他の場所でrxjavaを使用していない場合、ほとんど利点はありません。

+0

シンプルで効果的なソリューションをありがとう。 –

関連する問題