O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Fazer uma solicitação padrão

Esta lição descreve como usar os tipos de solicitação comuns compatíveis com o Volley:

  • StringRequest. Especifique um URL e receba uma string bruta em resposta. Consulte Configurar RequestQueue para ver um exemplo.
  • JsonObjectRequest e JsonArrayRequest (ambas as subclasses de JsonRequest). Especifique um URL e receba um objeto ou matriz JSON (respectivamente) em resposta.

Se a resposta esperada for um desses tipos, você provavelmente não precisará implementar uma solicitação personalizada. Esta lição descreve como usar esses tipos de solicitação padrão. Para mais informações sobre como implementar a própria solicitação personalizada, consulte Implementar uma solicitação personalizada.

Solicitação JSON

O Volley oferece as seguintes classes para solicitações JSON:

  • JsonArrayRequest: uma solicitação para recuperar um corpo de resposta JSONArray em determinado URL.
  • JsonObjectRequest: uma solicitação para recuperar um corpo da resposta JSONObject em determinado URL, permitindo que um JSONObject opcional seja transmitido como parte do corpo da solicitação.

Ambas as classes são baseadas na classe base comum JsonRequest. Use-as seguindo o mesmo padrão básico usado para outros tipos de solicitações. Por exemplo, este snippet busca um feed JSON e o exibe como texto na IU:

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);
    
Para ver um exemplo de como implementar uma solicitação JSON personalizada com base no Gson (link em inglês), consulte a próxima lição: Implementar uma solicitação personalizada.