6 月 3 日の「#Android11: The Beta Launch Show」にぜひご参加ください。

標準的なリクエストを作成する

このレッスンでは Volley がサポートする一般的なリクエスト タイプの使用方法について紹介します。

  • StringRequest。URL を指定し、レスポンスとして未加工の文字列を受け取ります。例については、リクエスト キューを設定する場合の記事をご覧ください。
  • JsonObjectRequestJsonArrayRequest(どちらも JsonRequest のサブクラス)。URL を指定し、レスポンスとしてそれぞれ JSON オブジェクトまたは配列を受け取ります。

必要なレスポンスが上記のタイプのいずれかである場合、通常カスタム リクエストを実装する必要はありません。このレッスンでは、こうした標準のリクエスト タイプの使用方法について説明します。独自のカスタム リクエストを実装する方法について詳しくは、カスタム リクエストを実装する場合の記事をご覧ください。

JSON をリクエストする

JSON のリクエストに対して以下のクラスが Volley で用意されています。

  • 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);
    
Gson をベースとしたカスタム JSON リクエストの実装例については、次のレッスンであるカスタム リクエストを実装する場合の記事をご覧ください。