package com.volley.air; import android.content.Context; import java.util.Iterator; import java.util.Map; import com.volley.air.base.ApplicationController; import com.volley.air.base.NetworkResponse; import com.volley.air.base.Request; import com.volley.air.base.RequestTickle; import com.volley.air.error.AuthFailureError; import com.volley.air.request.SimpleMultiPartRequest; import com.volley.air.request.StringRequest; import com.volley.air.toolbox.VolleyTickle; /** * volley的二次封装 */ public class VolleyRequest { public static StringRequest stringRequest; public static SimpleMultiPartRequest simpleMultiPartRequest; public static Context context; /** * Get的StringRequest(通过接口回调处理成功和失败的结果) */ public static void RequestGet(Context context, String url, String tag, VolleyInterface vif) { ApplicationController.cancelPendingRequests(tag); stringRequest = new StringRequest(Request.Method.GET, url, vif.loadingListener(), vif.errorListener()); stringRequest.setTag(tag); ApplicationController.getRequestQueue().add(stringRequest); } /** * Post的StringRequest(通过接口回调处理成功和失败的结果) */ public static void RequestPost(Context context, String url, String tag, final Map<String, String> params, VolleyInterface vif) { ApplicationController.cancelPendingRequests(tag); stringRequest = new StringRequest(Request.Method.POST, url, vif.loadingListener(), vif.errorListener()) { @Override protected Map<String, String> getParams() throws AuthFailureError { return params; } }; stringRequest.setTag(tag); ApplicationController.getRequestQueue().add(stringRequest); } /** * Post的StringRequest(直接解析结果) */ public static NetworkResponse RequestPostTickle(Context context, String url, String tag, final Map<String, String> params, VolleyInterface vif) { RequestTickle mRequestTickle = VolleyTickle.newRequestTickle(context); stringRequest = new StringRequest(Request.Method.POST, url, null, null) { @Override protected Map<String, String> getParams() throws AuthFailureError { return params; } }; stringRequest.setTag(tag); mRequestTickle.add(stringRequest); NetworkResponse response = mRequestTickle.start(); return response; } /** * Post的MultipartRequest(文本,图片,文件)(直接解析结果) */ public static NetworkResponse RequestMultipartTickle(Context context, String url, String tag, Map<String, String> map_string, Map<String, String> map_file, VolleyInterface vif) { RequestTickle mRequestTickle = VolleyTickle.newRequestTickle(context); simpleMultiPartRequest = new SimpleMultiPartRequest(Request.Method.POST, url, null, null); if (map_string != null) { Iterator iter = map_string.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); Object key = entry.getKey(); Object val = entry.getValue(); simpleMultiPartRequest.addMultipartParam((String) key, null, (String) val); } } if (map_file != null) { Iterator iter = map_file.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); Object key = entry.getKey(); Object val = entry.getValue(); simpleMultiPartRequest.addFile((String) key, (String) val); } } simpleMultiPartRequest.setTag(tag); mRequestTickle.add(simpleMultiPartRequest); NetworkResponse response = mRequestTickle.start(); return response; } }