このレッスンでは、Volley がサポートする一般的なリクエスト タイプを使用する方法について説明します。
StringRequest
。URL を指定し、レスポンスとして未加工文字列を受け取ります。例については、リクエスト キューをセットアップするをご覧ください。JsonObjectRequest
とJsonArrayRequest
(どちらもJsonRequest
のサブクラス)。URL を指定し、レスポンスとしてそれぞれ JSON オブジェクトか JSON 配列を受け取ります。
想定されるレスポンスが上記のタイプのいずれかである場合、通常はカスタム リクエストを実装する必要はありません。このレッスンでは、このような標準リクエスト タイプの使用方法について説明します。独自のカスタム リクエストを実装する方法については、カスタム リクエストを実装するをご覧ください。
JSON をリクエストする
Volley には、JSON リクエスト向けに以下のクラスが用意されています。
JsonArrayRequest
- 指定 URL のJSONArray
レスポンス ボディを取得するためのリクエスト。JsonObjectRequest
- 指定 URL のJSONObject
レスポンス ボディを取得するためのリクエスト。必要に応じて、JSONObject
をリクエスト ボディの一部として渡すことができます。
どちらのクラスも、共通基本クラスの JsonRequest
をベースとしています。他のタイプのリクエストの場合と同じ基本パターンに沿って使用します。例として、JSON フィードを取得し、UI 内のテキストとして表示するスニペットを以下に示します。
Kotlin
val url = "http://my-json-feed" val jsonObjectRequest = JsonObjectRequest(Request.Method.GET, url, null, Response.Listener { response -> textView.text = "Response: %s".format(response.toString()) }, Response.ErrorListener { error -> // TODO: Handle error } ) // Access the RequestQueue through your singleton class. MySingleton.getInstance(this).addToRequestQueue(jsonObjectRequest)
Java
String url = "http://my-json-feed"; JsonObjectRequest jsonObjectRequest = new JsonObjectRequest (Request.Method.GET, url, null, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { textView.setText("Response: " + response.toString()); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { // TODO: Handle error } }); // Access the RequestQueue through your singleton class. MySingleton.getInstance(this).addToRequestQueue(jsonObjectRequest);