package com.applite.androidlibrary; import java.io.UnsupportedEncodingException; import java.util.HashMap; import java.util.Map; import com.android.volley.AuthFailureError; import com.android.volley.NetworkResponse; import com.android.volley.ParseError; import com.android.volley.Request; import com.android.volley.Response; import com.android.volley.Response.ErrorListener; import com.android.volley.Response.Listener; import com.android.volley.toolbox.HttpHeaderParser; public class CommonRequest extends Request<String> { private Listener<String> mListener; private Map<String, String> mMap; public CommonRequest(int method, String url,Map<String, String> map,Listener<String> listener, ErrorListener errorListener) { super(method, url, errorListener); this.mListener=listener; this.mMap=map; } @Override protected Map<String, String> getParams() throws AuthFailureError { if(mMap == null) { mMap=new HashMap<String, String>(); } return mMap; } public CommonRequest(String url,Map<String, String> map,Listener<String> listener, ErrorListener errorListener) { this(Method.GET, url, map, listener, errorListener); } @Override protected Response<String> parseNetworkResponse(NetworkResponse response) { String parsed; try { parsed = new String(response.data, HttpHeaderParser.parseCharset(response.headers)); } catch (UnsupportedEncodingException e) { return Response.error(new ParseError(e)); } return Response.success(parsed,HttpHeaderParser.parseCacheHeaders(response)); } //回调 @Override protected void deliverResponse(String response) { if(mListener!=null) { mListener.onResponse(response); } } }