2016-12-11 7 views
0

私はAPI呼び出しを行う最善の方法を探していました。そのために、Retrofit、Volley、Ionなどの主要な方法についていくつかの調査を行いました。私はRetrofitが本当に最高だと確信しています。私は長い間、これを使用していました。私は過去の選択について私の心が幸せに満ちた私の人生を進んで生きていくべきですが、私は通常Retrofitとそのコールトリートメントを使用します。成功とエラーを扱う、私のものをして、それはうまくいく、GG。だから、RetrofitのRxAndroidについて聞いたことがあります。それから自分自身について疑問に思っています.RxAndroidを実装する必要がありますか?私のプロジェクトをより良くするつもりですか?それを使う(またはしない)のメリットは何ですか?Android Retrofit:RxAndroidを使用するかどうかを指定しますか?

+0

"私のプロジェクトをより良くするつもりですか?"多分、そうではないかもしれない。あなたの利点に追加された可能性を使用しないと、コードが悪化する可能性があります。結局のところ、複雑さが増しています。 – zapl

答えて

0

この文脈ではおそらくRxJavaを意味すると思います。 RxJavaとRetrofitは非常にきれいにまとまります。特に、例えば異なる要求の実行を組み合わせる必要がある場合は特にそうです。たとえば、次のしていると言うと、あなたは、これはあなたが数を実行したい場所をRxJava

service.issueToken(subscriptionKey) 
       .subscribeOn(Schedulers.io()) 
       .flatMap(token -> service.getData(token)); 

を使用して別のユースケースがあるかもしれないが、これを行うことができる方法であるgetData

public interface SomeRetrofitServiceInterface { 
    @POST("issueToken") 
    Observable<String> issueToken(@Query("subscriptionKey") String subscriptonKey); 

    @GET("getSomeData") 
    Observable<MyPojo> getData(@Query("token") String token); 
} 

呼び出す前に、トークンを取得したいです(例えば、Observable.zip()を使用して、さらに処理を行う前にそれらのすべてが完了するのを待つ)

0

RXの考え方全体にすでに精通しているなら、それはmで物事を作ったy appの方が簡単ですが、影響はアプリの設定方法によって異なります。

あなたはRXに慣れていない場合、私はあなたが最初のレトロフィットとの組み合わせで、それを使用せずに、あなたのアプリケーションでいくつかの小さな部分でそれを取り入れ、その背後にある考え方を把握しようと示唆しています。

そして最後に、確かではない、少なくとも:それはヒップで起こっているので、あなたが、あなたのコードのために、それは貴重な見つけるそれを使用し続ける場合は、最初にそれを試して、それを使用しないでください。各ライブラリーのような

0

RxJavaは同じ負のは、アプリケーションのパフォーマンスとサイズに影響を与えています。この場合、大きなオーバーヘッドではありません。 RxJavaはシンプルで、コードの品質を向上させます。あなたがそれを使い始めたら、あなたはあなたのすべてのプロジェクトでそれを使用します。

関連する問題