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
eJsonArrayRequest
(ambas as subclasses deJsonRequest
). 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 respostaJSONArray
em determinado URL.JsonObjectRequest
: uma solicitação para recuperar um corpo da respostaJSONObject
em determinado URL, permitindo que umJSONObject
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);