Visualizzare gli errori in Android Volley
Volley è una delle più usate librerie Java per le operazioni di rete in Android.
L'unico difetto è che non è proprio immediato leggere eventuali errori.
Qui sotto un esempio di codice Java in cui andiamo a fare l'override di due metodi:
- parseNetworkError
- deliverError
Ovviamente per la risposta e gli errori implementate il vostro codice:
String url = "https://........";
RequestQueue queue = Volley.newRequestQueue(this);
JsonObjectRequest request = new JsonObjectRequest(Request.Method.POST, url, jsonObject,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
// DO STUFF
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
pd.dismiss();
if (error instanceof TimeoutError) {
} else if (error instanceof NoConnectionError) {
} else if (error instanceof AuthFailureError) {
} else if (error instanceof ServerError) {
} else if (error instanceof NetworkError) {
} else {
}
}
}) {
@Override
protected VolleyError parseNetworkError(VolleyError volleyError) {
String json;
if (volleyError.networkResponse != null && volleyError.networkResponse.data != null) {
try {
json = new String(volleyError.networkResponse.data, HttpHeaderParser.parseCharset(volleyError.networkResponse.headers));
} catch (UnsupportedEncodingException e) {
return new VolleyError(e.getMessage());
}
return new VolleyError(json);
}
return volleyError;
}
@Override
public void deliverError(VolleyError error) {
super.deliverError(error);
}
};
queue.add(request);
Enjoy!
java android volley parseetworkerror delivererror
Commentami!