私はAPI呼び出しを行う最善の方法を探していました。そのために、Retrofit、Volley、Ionなどの主要な方法についていくつかの調査を行いました。私はRetrofitが本当に最高だと確信しています。私は長い間、これを使用していました。私は過去の選択について私の心が幸せに満ちた私の人生を進んで生きていくべきですが、私は通常Retrofitとそのコールトリートメントを使用します。成功とエラーを扱う、私のものをして、それはうまくいく、GG。だから、RetrofitのRxAndroidについて聞いたことがあります。それから自分自身について疑問に思っています.RxAndroidを実装する必要がありますか?私のプロジェクトをより良くするつもりですか?それを使う(またはしない)のメリットは何ですか?Android Retrofit:RxAndroidを使用するかどうかを指定しますか?
0
A
答えて
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はシンプルで、コードの品質を向上させます。あなたがそれを使い始めたら、あなたはあなたのすべてのプロジェクトでそれを使用します。
関連する問題
- 1. Androidのサポートパッケージで使用するかどうかを指定しますか?
- 2. ContentProviderでBaseColumnsを使用するかどうかを指定しますか?
- 3. ENUM/SETタイプを使用するかどうかを指定しますか?
- 4. クラスを使用するかどうかを指定するクラス
- 5. Nlogデータベースターゲット - keepConnectionを使用するかどうかを指定します。
- 6. "Optional、DefaultParameterValue"属性を使用するかどうかを指定します。
- 7. Rails - パフォーマンスにポリモーフィズムを使用するかどうかを指定します。
- 8. 例外を指定するかどうかを指定します。
- 9. Docker Networking - リンクするかどうかを指定しますか?
- 10. DataTemplateをオンザフライで適用するかどうかを指定します。
- 11. Androidアイコン、どのように指定しますか?
- 12. 使用するdjangoのバージョンをどのように指定しますか?
- 13. PDOプレースホルダを使用するかどうかを指定するMySQLの `prepared statements '
- 14. ASP.NET MVCでユーザーエリアを使用するかどうかを指定する
- 15. android - スピンナーを作成するかどうかをプログラムで指定しない
- 16. Android(Javaを使用)では、どのように(指定した番号に)リングボリュームを設定できますか?
- 17. Django:post_deleteシグナルを使用しているユーザーを削除するかどうかを指定します。
- 18. table.completeRow()を使用して完了したセルのボーダーを消去するかどうかを指定します
- 19. WCF - .NET 3.5 SP1で[DataContract]を使用するかどうかを指定しますか?
- 20. 列にインデックスを追加するかどうかを指定しますか?
- 21. hタグにクラスを追加するかどうかを指定しますか?
- 22. VSSConverter.exeで使用するユーザー名はどのように指定しますか?
- 23. Android:アニメーション開始位置を円形で表示するかどうかを指定しますか?
- 24. どのAndroidコンポーネントをいつ使用するかを決定しますか?
- 25. Gradle 'application'プラグイン - どのmainClassNameを使用するかを指定できますか?
- 26. psycopg2が使用しているポストグルクライアント/ライブラリのバージョンをどのように指定/指定できますか?
- 27. iPadのpopoverをuitableviewから公開するかどうかを指定するかどうかを指定します。
- 28. Androidアプリケーションがネットワークプロキシを使用するかどうかを決定する方法
- 29. ウェブサーバー上で圧縮するかどうかを指定しますか?
- 30. オブジェクト指向コーディング - オブジェクトマネージャを使用するかどうか
"私のプロジェクトをより良くするつもりですか?"多分、そうではないかもしれない。あなたの利点に追加された可能性を使用しないと、コードが悪化する可能性があります。結局のところ、複雑さが増しています。 – zapl