1. ホーム
  2. android

[解決済み] Androidネットワークライブラリの比較。OkHTTP、Retrofit、Volley [終了しました]。

2022-03-16 14:06:39

質問

Androidを学習中のiOS開発者が、JSONから画像、音声や動画のストリーミングダウンロードまで、さまざまなリクエストを行うAndroidプロジェクトに取り組んでいて、2つのパートからなる質問をしました。

  1. iOSの場合、私は AFNetworking プロジェクトは広範囲に渡っています。Android用の同等のライブラリはありますか?

  2. を読みました。 OkHTTP レトロフィット by Square、そして ボレー が、まだ開発した経験がありません。どなたか、それぞれのベストユースケースの具体例を教えていただければと思います。私が読んだ限りでは、OkHTTPは3つの中で最も堅牢で、このプロジェクトの要件(上記)を処理できるように思われます。

どのように解決するのですか?

<ブロッククオート

どなたか、それぞれのベストユースケースの具体例を教えていただければと思います。

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

Volleyは、Retrofit + Picassoとほぼ競合しています。プラス面は、1つのライブラリであることです。一方、マイナス面は <ストライク 文書化されていないものが1つあります。 サポートされていない、quot;コードを壁に投げつけ、それについてI|Oプレゼンテーションを行う" ライブラリ。

EDIT - VolleyがGoogleに正式にサポートされました。ご参考までに Googleデベロッパーガイド

<ブロッククオート

私が読んだ限りでは、OkHTTPは3つの中で最も堅牢なようです。

Retrofitは、OkHTTPが利用可能な場合は自動的に使用します。また Jake WhartonのGist は、VolleyとOkHTTPを接続するためのものです。

<ブロッククオート

で、このプロジェクトの要件(上記)を処理することができました。

おそらく、従来のストリーミングの定義では、音声や映像のストリーミングダウンロードには使用しないでしょう。その代わり、AndroidのメディアフレームワークがこれらのHTTPリクエストを処理します。

とはいえ、もし自分でHTTPベースのストリーミングを行おうとするならば、OkHTTPがそのシナリオを処理するはずです。Volleyがそのシナリオをどの程度処理できるかは覚えていません。RetrofitもPicassoも、そのために設計されたものではありません。