我创建了此文件,并按照以下方式进行管理,请看一下,希望对您有用
public class APIManager { public static void createRequest(Context c, String requestTag, String endPoint, List<NamevaluePair> params, final onRequestCompletedListener listener, TransParentProgressDialog pd) { ServerDetails serverDetails = new ServerDetails(c, endPoint, params); JsonObjectRequest request = new JsonObjectRequest(Method.GET, serverDetails.getQueryUrl(), null, new Response.Listener<JSONObject>() { @Override public void onResponse(JSonObject response) { listener.onRequestCompleted(response); } }, getErrorListener(c, pd)) { }; AppController.getInstance().addToRequestQueue(request, requestTag); }public static ErrorListener getErrorListener(final Context c, final TransParentProgressDialog pd, final TextView tvEmpty, final String errorText) { Response.ErrorListener listener = new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { if (pd != null && pd.isShowing()) { pd.dismiss(); } if (tvEmpty != null) { tvEmpty.setText(errorText); } MyDialog dialog; Log.d("volley-error", error.toString()); if (error instanceof TimeoutError) { dialog = new MyDialog(c, "Server Timeout"); dialog.show(); return; } else if (error instanceof NoConnectionError) { dialog = new MyDialog(c, "No Connection or Invalid Url"); dialog.show(); return; } else if (error instanceof ServerError) { NetworkResponse response = error.networkResponse; if (response != null) { // int statusCode = response.statusCode; byte[] data = response.data; if (data != null) { String str = new String(data); try { JSonObject object = new JSonObject(str); Log.d("error response", object.toString()); if (object.has("errors")) { JSonArray errors = object.getJSonArray("errors"); JSonObject errorObject = errors.getJSonObject(0); dialog = new MyDialog(c, "Error!",errorObject.getString("message")); dialog.show(); } else { dialog = new MyDialog(c, "Error!",object.toString()); dialog.show(); } } catch (JSonException e) { e.printStackTrace(); dialog = new MyDialog(c, "Error!", "Error"); dialog.show(); } } else { dialog = new MyDialog(c, "Server Error"); dialog.show(); } } else { dialog = new MyDialog(c, "Server Error"); dialog.show(); } } else if (error instanceof NetworkError) { NetworkResponse response = error.networkResponse; if (response != null) { // int statusCode = response.statusCode; byte[] data = response.data; if (data != null) { String str = new String(data); try { JSonObject object = new JSonObject(str); Log.d("error response", object.toString()); if (object.has("errors")) { JSonArray errors = object.getJSonArray("errors"); JSonObject errorObject = errors.getJSonObject(0); dialog = new MyDialog(c, "Error!",errorObject.getString("message")); dialog.show(); } else { dialog = new MyDialog(c, "Error!",object.toString()); dialog.show(); } } catch (JSonException e) { e.printStackTrace(); dialog = new MyDialog(c, "Error!", "Error"); dialog.show(); } } else { dialog = new MyDialog(c, "Network Error"); dialog.show(); } } else { dialog = new MyDialog(c, "Network Error"); dialog.show(); } } else if (error instanceof ParseError) { dialog = new MyDialog(c, "Parse Error"); dialog.show(); } else if (error instanceof AuthFailureError) { NetworkResponse response = error.networkResponse; if (response != null) { // int statusCode = response.statusCode; byte[] data = response.data; if (data != null) { String str = new String(data); try { JSonObject object = new JSonObject(str); Log.d("error response", object.toString()); if (object.has("errors")) { JSonArray errors = object.getJSonArray("errors"); JSonObject errorObject = errors.getJSonObject(0); dialog = new MyDialog(c, "Error!",errorObject.getString("message")); dialog.show(); } else { dialog = new MyDialog(c, "Error!",object.toString()); dialog.show(); } } catch (JSonException e) { e.printStackTrace(); dialog = new MyDialog(c, "Error!", "Error"); dialog.show(); } } else { dialog = new MyDialog(c, "Error!", "Error"); dialog.show(); } } else { dialog = new MyDialog(c, "Error connecting server"); dialog.show(); } } } }; return listener; }}并按要求完成回叫的界面是
public interface onRequestCompletedListener { public void onRequestCompleted(JSonObject response); }


