import com.android.volley.Request; //导入方法依赖的package包/类
/**
* @param apiTag tag to uniquely distinguish Volley requests. Null is allowed
* @param url URL to fetch the string at
* @param httpMethod the request method to use (GET or POST)
* @param params A HashMap to post with the request. Null is allowed and
* indicates no parameters will be posted along with request.
* @param headers optional Http headers
* @param serverCallback Listener to receive the String response
*/
public void placeStringRequest(@Nullable final String apiTag, String url, int httpMethod, @Nullable final HashMap params, final HashMap headers, final ServerCallback serverCallback) {
Request request = new StringRequest(httpMethod, url, new Response.Listener() {
@Override
public void onResponse(String response) {
serverCallback.onAPIResponse(apiTag, response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
serverCallback.onErrorResponse(apiTag, error);
}
}) {
@Override
protected Map getParams() throws AuthFailureError {
return params != null ? params : super.getParams();
}
@Override
public Map getHeaders() throws AuthFailureError {
return headers != null ? headers : super.getHeaders();
}
};
request.setRetryPolicy(retryPolicy);
addToRequestQueue(request);
}