Volley使用小结

来源:互联网 发布:车牌识别算法 开源 编辑:程序博客网 时间:2024/06/16 14:04

这里写图片描述

1.StringRequest

1.1.创建步骤

1. 创建一个RequestQueue对象;2. 创建一个StringRequest对象;3. 将StringRequest对象添加到RequestQueue里面。

1.2.示例代码

private void getString(){        //1.创建RequestQueue        RequestQueue queue = Volley.newRequestQueue(this);        //2.创建StringRequest        StringRequest request = new StringRequest("http://www.baidu.com", new Response.Listener<String>(        {            @Override            public void onResponse(String value)            {                tv.setText(value);            }        }, new Response.ErrorListener()        {            @Override            public void onErrorResponse(VolleyError error)            {                tv.setText(error.getMessage());            }        });        //3.将request加入到queue中        queue.add(request);    }

1.3.实现post请求

实现父类Request的getParams()方法
StringRequest stringRequest = new StringRequest(Method.POST, url,  listener, errorListener) {    @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;    }};

2.JsonRequest

2.1.创建步骤

1. 创建一个RequestQueue对象;2. 创建一个JsonObjectRequest对象;3. 将JsonObjectRequest对象添加到RequestQueue里面。

2.2.示例代码

private void getJSON()    {        RequestQueue queue = Volley.newRequestQueue(this);        JsonObjectRequest jsonObjectRequest = new JsonObjectRequest("http://m.weather.com.cn/data/101010100.html", null                new Response.Listener<JSONObject>() {                    @Override                    public void onResponse(JSONObject response) {                        tv.setText(response.toString());                    }                }, new Response.ErrorListener() {                    @Override                    public void onErrorResponse(VolleyError error) {                        tv.setText(error.getMessage());                    }                });        queue.add(jsonObjectRequest);    }

3.ImageRequest

3.1.创建步骤

1.创建requestQueue;2.创建ImageRequest;3.将request加入到queue中。

3.2.示例代码

RequestQueue  queue = Volley.newRequestQueue(this);   ImageRequest request = new ImageRequest(url, new Response.Listener<Bitmap>()            {                @Override                public void onResponse(Bitmap value)                {                                     iv.setImageBitmap(value);                }            }, 120, 160, ScaleType.FIT_XY, Config.RGB_565, new Response.ErrorListener()            {                @Override                public void onErrorResponse(VolleyError arg0)                {                }            });            queue.add(request);

4.ImageLoader

4.1.创建步骤

1.创建一个requestqueue对象;2.创建一个imagecache对象;3.创建一个imageloader对象;4.创建一个imageListener对象;5.调用iamgeloader的get方法加载网络图片。

4.2.示例代码

final LruCache<String, Bitmap> cache = new LruCache<String, Bitmap>(10);        ImageCache imageCache = new ImageCache()        {            @Override            public void putBitmap(String key, Bitmap value)            {                cache.put(key, value);            }            @Override            public Bitmap getBitmap(String key)            {                return cache.get(key);            }        };        ImageLoader loader = new ImageLoader(queue, imageCache);        ImageView iv = (ImageView) view.findViewById(R.id.iv);        ImageListener listener = ImageLoader.getImageListener(iv, R.drawable.ic_launcher, R.drawable.ic_launcher);        loader.get(url, listener, 120, 160, ScaleType.FIT_XY);

5.NetworkImageView

5.1.创建步骤

1.创建一个requestqueue对象;2.创建一个imageCache对象;3.创建一个iamgeLoader对象;4.在布局中设置一个networkimageview控件,并获取对象;5.调用控件的setImageUrl方法传入url和loader对象。

5.2.示例代码

RequestQueue queue = Volley.newRequestQueue(this);        final LruCache<String, Bitmap> lruCache = new LruCache<String, Bitmap>(10);        ImageCache cache = new ImageCache()        {            @Override            public void putBitmap(String key, Bitmap value)            {                lruCache.put(key, value);            }            @Override            public Bitmap getBitmap(String key)            {                return lruCache.get(key);            }        };        ImageLoader loader = new ImageLoader(queue, cache);        NetworkImageView imageView = (NetworkImageView) view.findViewById(R.id.iv);            imageView.setTag(url);            imageView.setDefaultImageResId(R.drawable.ic_launcher);            imageView.setErrorImageResId(R.drawable.ic_launcher);            imageView.setImageUrl(url, imageLoader);
0 0
原创粉丝点击