処理をJSONで扱う2016年06月20日(編集2016年06月20日)TweetVolleyはAndroid用のHTTPライブラリです。この記事は、Volleyでネットワークに接続する方法を記載した記事です。初心者向けVolleyVolleyはAndroid用のネットワークライブラリです。通信処理のキューイング、非同期のデータ取得からUIスレッドへの連携、キャッシュ(メモリーキャッシュ・ローカルキャッシュ)、通信失敗時のリトライ機構などの課題を効率的に解決することができます。Volleyのインストールbuild.gradleを開き、volleyのライブラリを設定します。Projectでビルドに成功すれば、volleyが利用できます。実装コードの実装します。ローカルマシンの192.168.11.8/apiに接続して、APIを呼び出してjsonを取得するコードを記述します。サーバーから取得するサンプルのjsonは以下の通りです。]}Volleyシングルトン実装まずは、Volleyを扱うシングルトンのクラスを作成します。}}Volleyはシングルトンのクラスで利用することが推奨されています。アプリの画面遷移時に、前の画面の通信タスクが残ってしまう可能性があるからです。高速に6つの画面を遷移して、それぞれの画面で通信が走ると、5(デフォルト)×6で30の通信タスクがメモリに残ることになります。この時、アクセスしたURLが動画や容量の大きな画像の場合、確実にOutOfMemoryが発生してしまいます。最初にシングルトンでRequestQueueのインスタンスを1つ作成し、それを使い回す実装がオススメです。上記で作成したVolleyのシングルトンクラスを、Fragmentクラスで利用します。VolleyHelper.getInstance(getActivity().getApplicationContext());シングルトンのVolleyHelperクラスからインスタンスを取得して、RequestQueueを利用できるようにします。});データをjsonで扱えるように、JsonObjectRequestを実体化しています。urlにGETメソッドで送信してます。Response.Listenerは成功時の匿名クラス、Response.ErrorListenerが失敗時の匿名クラスの実体化です。jsonの配列データは、getJSONArrayで取得できます。mInstance.getRequestQueue().start();}RequestQueueにJsonObjectRequestの情報を渡し、RequestQueue#start()メソッドでネットワーク通信を実行します。実装を終えたら、ビルドしてアプリを実行します。contents"}]onResponseメソッドでjsonが取得できました。まとめVolleyは非常に優れたネットワーク接続ツールです。クセが強いので実装には慣れが必要です。jsonの処理はgsonを利用しても良いと思います。