Volley es un módulo que encapsula el paquete jar, que puede enviar y procesar fácilmente solicitudes http.
Primero debes descargar Volley.java. Dirección de descarga: haga clic para descargar,
luego copie Volley.jar al proyecto y luego agréguelo a la biblioteca.
RequestQueue: literalmente significa una cola de solicitudes. Dado que RequestQueue ha manejado una alta concurrencia internamente, podemos compartir una RequestQueue [cola de solicitudes] para todas las solicitudes.
StringRequest: información de solicitud específica.
En MainActivity.java:
RequestQueue requestQueue = Volley.newRequestQueue(this);
StringRequest stringRequest = new StringRequest("http://www.baidu.com",
new Response.Listener<String>() {
@Override
public void onResponse(String string) {
Log.d("MainActivity", string);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
Log.d("MainActivity", volleyError.getMessage(), volleyError);
}
}
);
requestQueue.add(stringRequest);
El efecto es el siguiente:
simplemente envíe una solicitud http para obtener el código fuente de la página de inicio de Baidu. Eso es.
Envíe una solicitud POST:
RequestQueue requestQueue = Volley.newRequestQueue(this);
StringRequest stringRequest = new StringRequest(Request.Method.POST, "http://115.159.30.17/IHelpYou/Login",
new Response.Listener<String>() {
public void onResponse(String response) {
Log.d("TAG", response);
}
},
new Response.ErrorListener() {
public void onErrorResponse(VolleyError error) {
Log.e("TAG", error.getMessage(), error);
}
}
) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> map = new HashMap<>();
map.put("phone", "13530536529");
map.put("password", "123456");
return map;
}
};
requestQueue.add(stringRequest);
En este caso, el efecto puede ser mucho mayor.
Más importante aún, Volley admite datos json:
RequestQueue requestQueue = Volley.newRequestQueue(this);
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest("http://image.baidu.com/search/avatarjson?tn=resultjsonavatarnew&ie=utf-8&word=%E7%99%BE%E5%BA%A6", null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.d("TAG", response.toString());
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e("TAG", error.getMessage(), error);
}
});
requestQueue.add(jsonObjectRequest);
Efecto:
Por supuesto, también puede anular el método protegido Map <String, String> getParams () para agregar parámetros de solicitud.