Volley+单列

来源:互联网 发布:radon内核优化项目 编辑:程序博客网 时间:2024/06/05 03:36
类:
public class SingleVolleyRequestQueue {    //私有化属性    private static SingleVolleyRequestQueue singleQueue ;    private RequestQueue requestQueue;    private static Context context;    //是有化构造    private SingleVolleyRequestQueue(Context context){        this.context = context;        requestQueue = getRequestQueue();    }    //提供请求队列的方法    private RequestQueue getRequestQueue() {        if (requestQueue == null){            requestQueue = Volley.newRequestQueue(context);        }        return requestQueue;    }    //获取类对象的方法    public static synchronized SingleVolleyRequestQueue getInstance(Context context){        if (singleQueue == null){            singleQueue = new SingleVolleyRequestQueue(context);        }        return singleQueue;    }   public <T> void addToRequestQueue(Request<T> req){       //requestQueue.add(req);为了防止回收造成空指针异常,一般不用       getRequestQueue().add(req);   }}
使用方法
StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {    @Override    public void onResponse(String s) {        dialog.dismiss();    }}, new Response.ErrorListener() {    @Override    public void onErrorResponse(VolleyError volleyError) {    }}){    @Override    public Map<String, String> getHeaders() throws AuthFailureError {        return super.getHeaders();    }};SingleVolleyRequestQueue.getInstance(this).addToRequestQueue(stringRequest);
0 0
原创粉丝点击