Androidネットワークライブラリの比較:OkHTTP、Retrofit、およびVolley [終了]


579

Androidを学び、JSONから画像、オーディオやビデオのストリーミングダウンロードまでさまざまなリクエストを行うAndroidプロジェクトに取り組んでいるiOS開発者からの2部構成の質問:

  1. iOSでは、AFNetworkingプロジェクトを多用しています。Androidに相当するライブラリはありますか?

  2. 私は上に読んだOkHTTPレトロフィットスクエア、だけでなく、バレーボール、まだそれらを使用した開発経験を持っていません。私は誰かがそれぞれの最良のユースケースのいくつかの具体的な例を提供できることを望んでいます。私が読んだことから、OkHTTPは3つの中で最も堅牢で、このプロジェクトの要件を処理できるようです(前述)。


3
HttpUrlConnectionの内部実装を使用している場合は、HttpUrlConnectionがPOST要求に対してサイレント再試行を使用することを考慮する必要があります。それは私に多くの損害を与えました。詳細については、こちらをご覧ください。stackoverflow.com
oli

1
いずれかがすべてのネットワークライブラリのリストを必要とする場合、あなたは私のブログの記事でそれを見つけることができます androidredman.wordpress.com/2017/06/26/...
Manoharさんレディ

Volleyは、従来のApache、HttpUrlConnection、Apache-4、またはOkHttpを実行できます。レトロフィットは実際にはOkHttpの実行のみです。後付けは設定がはるかに簡単です。
bitsabhi 2017

回答:


647

私は誰かがそれぞれの最良のユースケースのいくつかの具体例を提供できることを望んでいます。

Webサービスと通信する場合は、Retrofitを使用します。画像をダウンロードする場合は、Picassoのピアライブラリを使用してください。Retrofit / Picassoの外部にあるHTTP操作を実行する必要がある場合は、OkHTTPを使用します。

ボレーはおおまかにレトロフィット+ピカソと競合します。プラス面では、1つのライブラリです。マイナス面では、これは、ドキュメント化されておらず、サポートされていない「壁にコードを投げて、I | Oプレゼンテーションを行う」ライブラリです。

編集-ボレーは現在、Googleによって正式にサポートされています。Googleデベロッパーガイドを参照してください

私が読んだことから、OkHTTPは3つの中で最も堅牢なようです

Retrofitは、利用可能な場合、OkHTTPを自動的に使用します。あるジェイク・ウォートンからの骨子 OkHTTPにバレーボールを接続しています。

このプロジェクトの要件を処理できます(前述)。

おそらく、従来の「ストリーミング」の定義では、「オーディオとビデオのストリーミングダウンロード」にはそれらを使用しません。代わりに、AndroidのメディアフレームワークがこれらのHTTPリクエストを処理します。

とはいえ、独自のHTTPベースのストリーミングを実行しようとする場合、OkHTTPはそのシナリオを処理する必要があります。ボレーがそのシナリオをどれだけうまく処理したか覚えていません。レトロフィットもピカソもそのために設計されていません。


4
簡潔な回答と、ドキュメントに記載されていないVolleyのスティーズに関するメモ(@他のプロジェクトと比較してその印象を受けた)に@CommonsWareに感謝します。間違いなく私が物事を地面から始めるのを助けます。
アルフィーハンセン2013年

18
@CommonsWareからのもう1つのすばらしい答え。RoboSpiceがこのすべてにどのように適合するかについて誰かがフォローアップできますか?
user1923613 2013年

3
@ user1923613 github.com/octo-online/robospiceネットワークコールにvolleyを使用している場合、robospiceを使用する必要はありません!、volleyはRobospiceがネットワークコールに実行する多くのことを実行します。 Spring AndroidまたはGoogle Http ClientまたはRetrofit)。堅牢なネットワーククライアントで高速ネットワーキングと画像読み込みが必要な場合は、ボレーに行くことができます。しかし、Robospiceを使用する通常のAndroid非同期タスクを置き換えて、パフォーマンスを向上させ、メモリリークを回避することができます。
LOG_TAG 2013年

4
@frostymarvelous:文書化されておらず、サポートされていないことは、十分な正当化以上のものだと感じています。Googleがこのようなものをより正式に処理するためのシステムを欠いているようではありません(たとえば、Androidサポートライブラリ)。この回答から2年間、プラス面では、アーティファクトへのコードの非公式なパッケージ化を含む、ある程度のコミュニティサポートがあります。
CommonsWare 2015

4
@AbhinavVutukuri:あなたは2年以上前の回答にコメントしています。当時、ドキュメントはありませんでした。
CommonsWare 2016

361

ここでボレーの視点を見ると、要件にいくつかの利点があります。

一方、Volleyは、個別の小さなHTTPリクエストの処理に完全に集中しています。したがって、HTTPリクエストの処理に問題がある場合、Volleyはおそらくフックを持っています。一方、画像処理に癖がある場合、唯一の実際のフックはImageCacheです。「それは何でもない、しかし多くではない!」。しかし、リクエストを定義すると、並列AsyncTasksとは異なり、フラグメントまたはアクティビティ内からそれらを使用するのは簡単です。

ボレーの長所と短所:

では、ボレーの何がいいのでしょうか?

  • ネットワーキングの部分は、画像だけのものではありません。Volleyは、バックエンドの不可欠な部分になることを目的としています。単純なRESTサービスに基づく新しいプロジェクトの場合、これは大きな利益になる可能性があります。

  • NetworkImageViewは、ピカソよりもリクエストのクリーンアップに積極的で、GCの使用パターンはより保守的です。NetworkImageViewは強力なメモリ参照のみに依存しており、ImageViewに対して新しいリクエストが行われるとすぐに、またはそのImageViewが画面外に移動するとすぐに、すべてのリクエストデータをクリーンアップします。

  • パフォーマンス。この投稿ではこの主張を評価しませんが、メモリ使用パターンに慎重になるように注意を払っています。Volleyはまた、メインスレッドへのコールバックをバッチ処理して、コンテキストの切り替えを減らす努力もしています。

  • ボレーにも先物があるらしい。興味がある場合は、RequestFutureをチェックしてください。

  • 高解像度の圧縮画像を処理している場合、Volleyはここで機能する唯一のソリューションです。

  • VolleyはOkhttpで使用できます(Okhttpの新バージョンはパフォーマンス向上のためにNIOをサポートしています)

  • Volleyは、Activityライフサイクルを適切に処理します。

Volleyの問題:
Volleyは新しいため、まだサポートされていないものもありますが、修正されています。

  1. マルチパートリクエスト(ソリューション:https : //github.com/vinaysshenoy/enhanced-volley

  2. ステータスコード201はエラーとして扱われ、ステータスコード200から207は正常に応答するようになりました(修正:https : //github.com/Vinayrraj/CustomVolley

    更新: Googleボレーの最新リリースで、2XXステータスコードのバグが修正されました!フィカスカークパトリックに感謝します!

  3. あまりドキュメント化されていませんが、多くの人がgithubでボレーをサポートしています。Javaのようなドキュメントはここにあります。Android開発者のWebサイトに、Volleyを使用したネットワークデータの送信に関するガイドがあります。そしてボレーのソースコードはGoogle Gitで見つけることができます

  4. Volley Frameworkのリダイレクトポリシーを解決または変更するには、VolleyをOkHTTPで使用 します(上記のCommonsWare)

また、ピカソとのこの比較ボレーの画像の読み込みを読むことができます

後付け:

Squareからリリースされました。これは非常に使いやすいREST APIを提供します(更新:NIOサポート付きのVoila!)

後付けの長所:

  • Volleyと比較して、RetrofitのREST APIコードは簡潔であり、優れたAPIドキュメントを提供し、コミュニティで優れたサポートを提供します。プロジェクトに追加するのは非常に簡単です。

  • エラー処理を備えた任意のシリアル化ライブラリで使用できます。

更新: -Retrofit 2.0.0-beta2には多くの非常に優れた変更があります。

  • OkHttp 2.0とレトロフィットのバージョン1.6は今に依存しているOkioサポートするために、java.iojava.nioの、アクセスがはるかに容易になりますストアと使用してデータを処理バイト文字列をし、バッファ CPUとメモリを節約するためにいくつかの巧妙な事をします。(FYI:これはのことを思い出すKoushのOINの!NIOをサポートしているライブラリ) 私たちは、使用することができますRxJavaと一緒にレトロフィットを組み合わせて、チェーンRESTは、使用して呼び出すrxObservablesを醜いコールバックチェーンを避けるために(回避コールバック地獄に!!)

バージョン1.6のレトロフィットの短所:

  • メモリ関連のエラー処理機能は(Retrofit / OkHttpの古いバージョンでは)良くありません。JavaNIOをサポートするOkioで改善されているかどうかはわかりません。

  • これを不適切な方法で使用すると、最小限のスレッディングアシスタンスでコールバック地獄が発生する可能性があります。

(上記の短所はすべてRetrofit 2.0ベータの新バージョンで解決されています)

================================================== ======================

更新:

Android Async vs Volley vs Retrofitパフォーマンスベンチマーク(ミリ秒、値が小さいほど優れています):

Android Async vs Volley vs Retrofitパフォーマンスベンチマーク

(OKFの新しいバージョンはNIO Okioライブラリに依存しているため、レトロフィットベンチマーク情報を超えるFYIはjava NIOサポートで改善されます)

さまざまな繰り返し(1〜25回)の3つのテストすべてで、ボレーは50%から75%高速でした。レトロフィットは、AsyncTasksよりも50%から90%も速く、同じエンドポイントに同じ回数ヒットしました。ダッシュボードのテストスイートでは、これによりデータの読み込み/解析が数秒速くなりました。これは、実際の大きな違いです。テストを公平にするために、Retrofitが自動的に行うように、AsyncTasks / Volleyの時間にはJSON解析が含まれていました。

RetroFitがベンチマークテストで勝利!

最終的に、私たちはアプリケーションにレトロフィットを採用することにしました。途方もなく高速であるだけでなく、既存のアーキテクチャと非常によく一致します。APIをほとんど、またはまったく操作せずに、エラー処理、キャッシュ、ページ付けを自動的に実行する親のCallback Interfaceを作成できました。Retrofitでマージするには、変数の名前を変更してモデルをGSON準拠にし、いくつかのシンプルなインターフェースを記述し、古いAPIから関数を削除し、AsyncTasksを使用しないようにフラグメントを変更する必要がありました。いくつかのフラグメントが完全に変換されたので、かなり簡単です。私たちが克服しなければならないいくつかの成長する苦痛と問題がありましたが、全体的にそれはスムーズに行きました。初めにいくつかの技術的な問題やバグに遭遇しましたが、Squareには素晴らしいGoogle+コミュニティがあり、それを介して私たちを助けることができました。

いつボレーを使うの?!

画像の読み込みやREST APIの利用が必要な場合はVolleyを使用できます!多くのn / wリクエストに同時にネットワークコールキューイングシステムが必要です!また、VolleyはRetrofitよりもメモリ関連のエラー処理が優れています。

OkHttpはVolleyで使用でき、RetrofitはデフォルトでOkHttpを使用します!それは持ってSPDYサポート、接続プーリング、ディスクキャッシュ、透明な圧縮を!最近、それが持つJava NIOのいくつかのサポートを持っているOkioのライブラリ。

出典、クレジット:Josh Ruesch氏によるvolley-vs-retrofit

注:ストリーミングについては、RTSP / RTCPのように、どのタイプのストリーミングが必要かによって異なります。


@ Jan1337z +1の情報!更新しました!android.googlesource.com/platform/frameworks/volley
LOG_TAG 2013年

4
@LOG_TAGサンプルでRoboSpiceをベンチマークすることは興味深いでしょう。レトロフィットモジュールも提供しているので、変更はほとんど必要ないと思います。ソースはどこかで入手できますか?RSの利点は、ネットワークリクエストを実行するアクティビティのライフサイクルを適切に処理し、透過的なキャッシングも提供することです。純粋な改良リクエストに比べてオーバーヘッドは小さいと思います。
Snicolas 2014

@Snicolasこのベンチマーク結果はJosh Rueschのブログで得られました。FicusKirkpatrick (Volley創設者)とJosh Rueschの間の変換を見ることができます。彼はまだどこもベンチマークテストプロジェクトを共有していません。お知らせ:この通知の問題に直面している改造サンプルで RoboSpiceの学習を開始しました:)
LOG_TAG

3
こんにちは!Volleyでのマルチパートリクエストについては、それMultipartEntityBuilderhttpmimeライブラリで使用できると思います。
BNK 2015

2
他の誰かがこれらのベンチマークを検証しましたか?apache httpライブラリはMで非推奨になっている(そして私はマルチパートビルダーで使用していた)ので、ネットワーキングコードをRetrofitに移行することにしました。最初に、GET呼び出しの1つを変更して、サーバーから一連のオブジェクトを取得しました。Retrofit対AsyncTaskの時間を測定しました(独自のJSON解析を使用)。パフォーマンスは非常に近く、表の「1つのディスカッション」列に示されている3倍の改善ではありません。確かに、結果のコードははるかにクリーンであり、独自のJSONパーサーを記述する必要はありませんでしたが、単一のGETリクエストでは改善はありませんでした。
Gary Kipnis

44

ロボスパイス対 ボレー

https://groups.google.com/forum/#!topic/robospice/QwVCfY_glOQから

  • RoboSpice(RS)はサービスに基づいており、VolleyよりもAndroidの哲学を尊重しています。Volleyはスレッドベースであり、これはAndroidでバックグラウンド処理を行う方法とは異なります。最終的には、両方のライブラリを掘り下げて、それらが非常に似ていることを確認できますが、バックグラウンド処理を行う方法はAndroid指向であるため、たとえば、RSが実際に何かをバックグラウンドで実行していることをユーザーに伝えることができます。ボレーには難しい(実際にはまったくそうではない)。
  • RoboSpiceとvolleyはどちらも、優先順位付け、ポリシーの再試行、リクエストのキャンセルなどの優れた機能を提供します。しかし、RSはより多くを提供します。より高度なキャッシングであり、それは大きなものです。キャッシュ管理、要求の集約、保留中の要求への再プラグイン、サーバーヘッダーに依存せずにキャッシュの期限切れを処理するなどの機能が追加されます。
  • RoboSpiceはUIスレッド以外でも多くのことを実行します。volleyはメインスレッドでPOJOをデシリアライズしますが、これは私の考えでは恐ろしいことです。RSを使用すると、アプリの応答性が向上します。
  • 速度に関しては、メトリックが絶対に必要です。RSは今、超高速になりましたが、それでも、ここに置く数値はありません。バレーは理論的には少し速いはずですが、RSは今や超並列です...誰が知っていますか?
  • RoboSpiceは、拡張機能との幅広い互換性を提供します。okhttp、retrofit、ormlite(ベータ)、jackson、jackson2、gson、xmlシリアライザー、google httpクライアント、spring androidなどで使用できます。Volleyはok httpで使用でき、gsonを使用します。それでおしまい。
  • Volleyは、RSよりも多くのUI砂糖を提供しています。VolleyはNetworkImageViewを提供し、RSはspicelistアダプターを提供します。機能面ではそれほど遠くないですが、このトピックについてはVolleyの方が進んでいると思います。
  • RoboSpiceの最初のリリース以来、200以上のバグが解決されています。それはかなり堅牢で、生産で頻繁に使用されます。Volleyはそれほど成熟していませんが、そのユーザーベースは急速に成長しているはずです(Google効果)。
  • RoboSpiceはMaven Centralで利用できます。ボレーを見つけるのは難しいです;)

RobospiceはREST呼び出しにAndroidサービスを使用します。RobospiceをRetrofitと一緒に使用して、Gsonの解析作業を最小限に抑えることができます。(それが尋ねるのに適切なqsnであるかどうかはわかりません)私はサービス付きのボレーを検索しています!
LOG_TAG 2014

1
サービス付きボレーは基本的にはRSです。または、年代順に言えば、Volleyはサービスと他のいくつかの機能が欠けていないRSです。はい、RetrofitをRSで使用できます。必要に応じて、okhttpを追加することもできます。
Snicolas 14

7
ボレーを見つけるのが難しいのはなぜですか?compile 'com.mcxiaoke.volley:library:1.0.+'
Rob

1
@Rob mcxiaokeのクローンが利用できない時期がありました。アプリに手動でボレーを含める必要がありました。
霜降りのすばらしい2015

「ボレーはメインスレッドでPOJOをデシリアライズします」。これが問題である場合は、返されたJSONデータを受け取り、別のスレッドで自分でデシリアライズできます。
AndroidDev

20

Android向けAFNetworking:

高速Androidネットワーキングこちら

Fast Android Networking Libraryは、GET、POST、DELETE、HEAD、PUT、PATCHなどのすべてのタイプのHTTP / HTTPSリクエストをサポートします

Fast Android Networking Libraryは、あらゆるタイプのファイルのダウンロードをサポートしています

Fast Android Networking Libraryは、あらゆるタイプのファイルのアップロードをサポートします(マルチパートアップロードをサポートします)

Fast Android Networking Libraryはリクエストのキャンセルをサポートしています

Fast Android Networking Libraryは、すべてのリクエストの優先度の設定をサポートしています(LOW、MEDIUM、HIGH、IMMEDIATE)

Fast Android Networking LibraryはRxJavaをサポートしています

ネットワーク層としてOkHttpを使用しているため、以下をサポートしています。

Fast Android Networking LibraryがサポートするHTTP / 2サポートにより、同じホストへのすべてのリクエストでソケットを共有できます

Fast Android Networking Libraryは接続プーリングを使用してリクエストのレイテンシを削減します(HTTP / 2が利用できない場合)

透過的なGZIPはダウンロードサイズを縮小します

Fast Android Networking Libraryは、リクエストを繰り返してネットワークを完全に回避する応答キャッシュをサポートします

ありがとう:ライブラリは私が作成しました


1
ライブラリがHTTP / 2をサポートしていると述べていますが、HTTP / 2サポートのAPI要件があるかどうかは述べていません。私の理解では、5.0より前のAndroid APIレベルには、HTTP / 2をサポートする適切なSSL暗号化メソッドがありませんでした。ノックするのではなく、提案されたソリューションを完全に評価することを試みます。
DoctorD 2016

@AmitShekhar:AndroidでのAPI呼び出しに最適なのはどれか知りたいだけです。Android Networking Libraryを使用していますが、Retrofit、Volley、またはAndroid Networkingを実装するのに最適ですか?
Parth Bhayani

@Amit Shekharマルチパートの画像アップロードのためのFast Android Networkingはどの程度効率的ですか。特に、インターネットの負荷が低い場合はどうでしょうか。
user3135923

18

非同期HTTPクライアントloopjとVolley

私のプロジェクトの詳細は、1〜5分ごとの小さなHTTP RESTリクエストです。

非同期HTTPクライアント(1.4.1)を長い間使用しています。パフォーマンスは、一般的なApache httpClientまたはHTTP URL接続を使用するよりも優れています。とにかく、新しいバージョンのライブラリは私にとって機能していません。コールバックのライブラリ例外間カットチェーンです。

すべての答えを読んで、何か新しいことに挑戦する動機がありました。Volley HTTPライブラリを選択しました。

しばらく使用した後、テストをしなくても、応答時間が1.5倍、2倍のボレーになっていることがはっきりとわかります。

多分、レトロフィットは非同期HTTPクライアントより優れていますか?私はそれを試す必要があります。しかし、ボレーは私には向いていないと確信しています。


RetrofitとAsyncHttpClientの比較分析??? はい場合は投稿してください@Sergey
IshRoid


私はAsyncHttpClientを数年間使用しています。悪い点は、githubリポジトリがコミットなしで2年であるということです。
Vitor Hugo Schwaab 2017年

もはや実際ではありません。非同期httpは古すぎます。別のライブラリに変更することを検討してください。ボレーも非常に良い選択になりました。
セルゲイヴァクレンコ2018年

セルゲイは、私はまだ熱心に応答を待っている..私はRxJavaレトロフィットやelse..Pleaseは私が知っている任意のもののような何か他のものを使用する必要があります私はAsyncHttpClientを使用していますあなたの質問の回答を探しています@IshRoid
ディープデイブ

11

ボレーでの作業の経験からの議論に少し追加するだけです:

  1. Volleyは、ストリーミングのアップロードやダウンロードをいかなる意味でも処理しません。つまり、リクエストボディ全体がメモリ内にある必要がありOutputStream、基本を行うように、を使用してリクエストボディを基礎となるソケットに書き込むことも、を使用しInputStreamてレスポンスボディを読み取ることもできませんHttpURLConnection。したがって、Volleyは、大きなファイルのアップロードまたはダウンロードには適していません。あなたの要求と応答は小さくなければなりません。これは私が個人的に遭遇したボレーの最大の制限の1つです。価値のあることとして、OkHttpにはストリームを操作するためのインターフェースがあります。

  2. 公式のドキュメントがないことは厄介なことですが、ソースコードを読むことでこれを回避することができました。さらに厄介なのは、私の知る限り、Volleyには公式リリースバージョンがなく、MavenまたはGradleアーティファクトがないため、依存関係として管理することは、たとえばSquareがリリースしたどのライブラリよりも頭痛の種になるということです。 。リポジトリのクローンを作成し、jarファイルを作成するだけで、自分で作業できます。バグ修正をお探しですか?取得して、そこにあることを願っています。あなたは他にもいくつかのものを得るかもしれません。文書化されません。私の意見では、これは事実上、コードベースがかなりアクティブであっても、Volleyがサポートされていないサードパーティのライブラリであることを意味します。買い手責任負担。

  3. ちなみに、Content-Typeをクラス/リクエストタイプ(JsonObjectRequest、ImageRequestなど)に関連付けると、Volleyの既存のリクエストタイプ階層に関連付けられるため、呼び出しコードの柔軟性が少し低下します。Content-Typeを他のヘッダーと同じように設定するのが簡単なのが好きです(ところで、Volleyではこれを行わないでください。2つのContent-Typeヘッダーができてしまいます!)。それは私の個人的な意見ですが、回避できます。

それはボレーがいくつかの便利な機能を備えていないということではありません。確かにそうです。簡単にカスタマイズできる再試行ポリシー、透過的なキャッシング、キャンセルAPI、リクエストスケジューリングと同時接続のサポートは優れた機能です。すべてのHTTPユースケース(上記の項目1を参照)を対象としたものではなく、アプリでVolleyを本番環境で使用する(項目2)にはいくつかの問題があることを知っておいてください。


完全なメモリの読み込みは、私をゆっくりと殺しているものです。他の誰かがそれについて言及した神に感謝します。
TheSunny、2016年

ライブラリはリクエストの本文の防御的なコピーを作成することもできるため、大きなリクエストのメモリ消費量は、予想される2倍になる可能性があります。
Jeff

9

私は最近、テーブルに少し余分をもたらすイオンと呼ばれるライブラリを見つけました。

ionには、ImageView、JSON(GSONの助けを借りて)、ファイル、および非常に便利なUIスレッディングサポートと統合された画像ダウンロードの組み込みサポートがあります。

新しいプロジェクトで使用していますが、これまでのところ、結果は良好です。その使用は、ボレーや改造よりもはるかに簡単です。


2
イオン対レトロフィットのどちらをお勧めしますか?
Sreekanth Karumanaghat

後付けはイオンより優れています
Rajesh Kosht​​i

4

受け入れられた回答とLOG_TAGの発言に加えて... Volleyがバックグラウンドスレッドでデータを解析するためにはRequest<YourClassName>onResponseメソッドがメインスレッドで呼び出され、メインスレッドで解析すると、応答の場合にUIが遅れる可能性があるため、サブクラス化する必要があります。大きい。その方法については、こちらをお読みください


1
右...ボレーはメインスレッドで応答を解析し、応答が非常に大きい場合にUIを遅延させます。
Gopal Singh Sirvi 2015年

3

Retrofit 1.9.0対RoboSpice

私は自分のアプリで両方を使用しています。

ネストされたJSONクラスを解析するときはいつでも、RobospiceはRetrofitよりも速く動作します。スパイスマンガーがあなたのためにすべてをしてくれるからです。Retrofitでは、GsonConverterを作成してデシリアライズする必要があります。

同じアクティビティで2つのフラグメントを作成し、2つの同じ種類のURLで同時に呼び出しました。

09-23 20:12:32.830  16002-16002/com.urbanpro.seeker E/RETROFIT   RestAdapter Init
09-23 20:12:32.833  16002-16002/com.urbanpro.seeker E/RETROFIT calling the method
09-23 20:12:32.837  16002-16002/com.urbanpro.seeker E/ROBOSPICE initialzig spice manager
09-23 20:12:32.860  16002-16002/com.urbanpro.seeker E/ROBOSPICE Executing the method
09-23 20:12:33.537  16002-16002/com.urbanpro.seeker E/ROBOSPICE on SUcceess
09-23 20:12:33.553  16002-16002/com.urbanpro.seeker E/ROBOSPICE gettting the all contents
09-23 20:12:33.601  16002-21819/com.urbanpro.seeker E/RETROFIT deseriazation starts
09-23 20:12:33.603  16002-21819/com.urbanpro.seeker E/RETROFIT deseriazation ends

2

そしてさらに別のオプション:https : //github.com/apptik/jus

  • Volleyのようにモジュール化されていますが、さらに拡張され、ドキュメントが改善されており、さまざまなHTTPスタックとコンバーターをそのまま使用できます
  • RetrofitのようなサーバーAPIインターフェイスマッピングを生成するモジュールがあります。
  • また、JavaRxもサポートしています。

マーカー、トランスフォーマーなど、他の多くの便利な機能。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.