Volley は、Android アプリのネットワーク操作を容易化、高速化する HTTP ライブラリです。Volley は GitHub で入手できます。
Volley には次のような利点があります。
- ネットワーク リクエストの自動スケジューリング。
- 複数のネットワークの並行接続。
- 標準の HTTP キャッシュ コヒーレンシを備えた透過的ディスク / メモリ レスポンス キャッシュ。
- リクエストの優先順位付けのサポート。
- Cancellation request API。単一のリクエストのキャンセル、ブロックの設定、キャンセル リクエストの範囲の設定ができます。
- 容易なカスタマイズ(再試行、バックオフなど)。
- 強力な順序付けにより、ネットワークから非同期に取得されるデータを UI に正しく簡単に入力できます。
- デバッグツールとトレースツール。
Volley は、検索結果のページを構造化データとして取得するなど、UI を設定する際に使用する RPC タイプの処理に優れています。任意のプロトコルを簡単に組み込むことが可能で、未加工文字列、画像、JSON をネイティブでサポートします。デベロッパーが必要とする機能がネイティブでサポートされるため、Volley を利用することで、ボイラープレート コードの記述から解放され、アプリに固有のロジックに集中できるようになります。
Volley は、解析中はすべてのレスポンスをメモリ内に保持するため、大量のダウンロード操作やストリーミング操作には適していません。大量のダウンロード操作には、DownloadManager
など、別の方法をおすすめします。
Volley のコアライブラリは GitHub 上で開発されており、メイン リクエスト ディスパッチ パイプラインと、Volley の「ツールボックス」から一般的に利用できるユーティリティ セットを備えています。Volley をプロジェクトに追加する最も簡単な方法は、アプリの build.gradle ファイルに次の依存関係を追加する方法です。
dependencies { ... implementation 'com.android.volley:volley:1.1.1' }
また、Volley リポジトリのクローンを作成して、ライブラリ プロジェクトとして設定することもできます。
- コマンドラインで次のように入力して、リポジトリの Git クローンを作成します。
git clone https://github.com/google/volley
- ダウンロードしたソースを Android ライブラリ モジュールとしてアプリ プロジェクトにインポートします。手順については、Android ライブラリを作成するをご覧ください。
レッスン
- シンプルなリクエストを送信する
- Volley のデフォルト動作を使用して、シンプルなリクエストを送信する方法と、リクエストをキャンセルする方法について説明します。
- RequestQueue をセットアップする
RequestQueue
をセットアップする方法と、アプリのライフタイムを通じて存続するRequestQueue
を作成するシングルトン パターンを実装する方法について説明します。- 標準リクエストを作成する
- Volley のビルトイン リクエスト タイプ(未加工文字列、画像、JSON)のいずれかを使用してリクエストを送信する方法について説明します。
- カスタム リクエストを実装する
- カスタム リクエストを実装する方法について説明します。