Google volley框架的几种用法

图片加载

    /**
     * ImageLoader
     */
    private void testImageView() {
        RequestQueue mQueue = Volley.newRequestQueue(mContext);
        ImageLoader imageLoader = new ImageLoader(mQueue, new BitmapCache());
        ivImageView.setDefaultImageResId(R.mipmap.ic_launcher);
        ivImageView.setErrorImageResId(R.mipmap.ic_launcher);
        ivImageView.setImageUrl(imageUrl,imageLoader);
    }

    /**
     * ImageLoader
     */
    private void testImageLoader() {
        RequestQueue mQueue = Volley.newRequestQueue(mContext);
        ImageLoader imageLoader = new ImageLoader(mQueue, new BitmapCache());
        ImageLoader.ImageListener listener = ImageLoader.getImageListener(ivImageLoad,
                R.mipmap.ic_launcher, R.mipmap.ic_launcher);
        imageLoader.get(imageUrl, listener, 200, 200);
    }

    /**
     * ImageRequest
     */
    private void testImageRequest() {
        RequestQueue mQueue = Volley.newRequestQueue(mContext);
        ImageRequest imageRequest = new ImageRequest(imageUrl,
                new Response.Listener<Bitmap>() {
                    @Override
                    public void onResponse(Bitmap response) {
                        ivImageReq.setImageBitmap(response);
                    }
                }, 0, 0, Bitmap.Config.RGB_565, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                ivImageReq.setImageResource(R.mipmap.ic_launcher);
            }
        });
        mQueue.add(imageRequest);
    }

数据请求

    /**
     * JsonObjectRequest
     */
    private void testJsonRequest() {
        RequestQueue mQueue = Volley.newRequestQueue(mContext);
        JsonObjectRequest jsonRequest = new JsonObjectRequest(jsonUrl, null, new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject response) {
                Log.d("TAG", response.toString());
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Log.e("TAG", error.getMessage(), error);
            }
        });
        mQueue.add(jsonRequest);
    }

    private void testJsonArrRequest() {
        RequestQueue mQueue = Volley.newRequestQueue(mContext);
        JsonArrayRequest jsonRequest = new JsonArrayRequest(jsonUrl, new Response.Listener<JSONArray>() {
            @Override
            public void onResponse(JSONArray jsonArray) {
                Log.d("TAG", jsonArray.toString());
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Log.e("TAG", error.getMessage(), error);
            }
        });
        mQueue.add(jsonRequest);
    }

    /**
     * StringRequest
     */
    private void testStringRequest() {
        RequestQueue mQueue = Volley.newRequestQueue(mContext);
        StringRequest stringRequest = new StringRequest(jsonUrl,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        Log.d("TAG", response);
                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Log.e("TAG", error.getMessage(), error);
            }
        });
        mQueue.add(stringRequest);
    }

    private void testPostRequest() {
        RequestQueue mQueue = Volley.newRequestQueue(mContext);
        StringRequest stringRequest = new StringRequest(Request.Method.POST, "aa", new Response.Listener<String>() {
            @Override
            public void onResponse(String s) {

            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError volleyError) {

            }
        }) {
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                Map<String, String> map = new HashMap<String, String>();
                map.put("params1", "value1");
                map.put("params2", "value2");
                return map;
            }
        };
        mQueue.add(stringRequest);
    }

兼容API23需添加jar包:org.apache.http.legacy.jar

参考:

    Android Volley完全解析(一),初识Volley的基本用法

    Android Volley完全解析(四),带你从源码的角度理解Volley

    Android 网络通信框架Volley简介(Google IO 2013)

posted @ 2017-07-27 01:24  zhen-Android  阅读(460)  评论(0编辑  收藏  举报