码迷,mamicode.com
首页 > 移动开发 > 详细

Android Volley框架的使用(3)

时间:2016-02-16 16:43:20      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:

4. 加载图片

在实际应用中,经常需要从网络上下载并显示图片。Volley也提供了从网络下载图片的几种方法,这里主要介绍两种方法:ImageRequest和ImageLoader。

(1) ImageRequest

ImageRequest和StringRequest、JsonObjectRequest类似,都继承自Request,使用方法也差不多。

    private void imageRequest(){
        ImageRequest imageRequest = new ImageRequest(
                "http://tech.cnr.cn/techit/201411/W020141113510671880058.jpg",
                new Response.Listener<Bitmap>() {
                    @Override
                    public void onResponse(Bitmap response) {
                        imgView.setImageBitmap(response);
                    }
                }, 0, 0, Config.RGB_565, new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        imgView.setImageResource(R.drawable.ic_launcher);
                    }
                });
        mQueue.add(imageRequest);
    }

首先创建一个ImageRequest,构造函数的参数包括图片的URL,下载图片成功的回调函数(这里把下载的图片通过一个ImageView控件显示出来),图片显示的长和宽(这里都设置为0,则按照图片原来的大小显示),图片显示的质量,下载图片失败的回调函数(这里显示一张默认图片)。运行结果如下所示:

技术分享

(2) ImageLoader

有时从网上下载图片需要很长的时间,在下载的过程中显示一张图片会比较好,ImageLoader就能够实现这个功能。ImageLoader不是继承自Request的,和前面几个Request的使用略有不同,需要先定义ImageLoader和ImageListener,然后调用ImageLoader的get()方法来获取图片。

定义ImageLoader:

        ImageLoader imageLoader = new ImageLoader(mQueue, new ImageCache() {
            @Override
            public void putBitmap(String url, Bitmap bitmap) {
            }

            @Override
            public Bitmap getBitmap(String url) {
                return null;
            }
        });

其中mQueue是请求队列。

定义ImageListener:

        ImageListener listener = ImageLoader.getImageListener(imgView, 
                R.drawable.ic_launcher, R.drawable.ic_launcher);

其中imgView是显示图片的控件,后面两个参数分别是下载图片过程中显示的图片和下载失败显示的图片,这里为了简单,设置的是同一张图片。

最后,使用ImageLoader的get()方法来下载图片。

        imageLoader.get("http://tech.cnr.cn/techit/201411/W020141113510671880058.jpg",
                listener, 400, 200);

参数包括图片的URL、ImageListener,图片显示的长和宽。运行结果如下:

技术分享

Android Volley框架的使用(3)

标签:

原文地址:http://www.cnblogs.com/mstk/p/5192955.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!