一、问题描述 |
Volley是Google 2013年发布的实现Android平台上的网络通信库,主要提供网络通信和图片下载的解决方案,比如以前从网上下载图片的步骤可能是这样的流程:
在ListAdapter的getView()里开始图像的读取。
通过AsyncTask等机制使用HttpURLConnection从服务器去的图片资源,在AsyncTask的onPostExecute()里设置相应ImageView的属性.而在Volley下,只需要ImageLoader即可实现。
案例介绍——现图片新闻浏览:
二、案例主要组件 |
1、 RequestQueue 请求队列将StringRequest请求放入队列,并进行异步处理,主要代码:
//创建RequestQueue,可发送异步请求 RequestQueue mRequestQueue=Volley.newRequestQueue(this); //StringRequest request=new StringRequest(…);//创建一个客户端请求 mRequestQueue.add(request);//将请求加到队列,将异步执行请求
2、ImageLoader 实现缓存并异步加载网络图片
//创建ImageLoader,用于将图片存入缓存和从缓存中取出图片 //第一个参数为之前创建的RequestQueue对象 //第二参数为图片缓存设置,详解见BitmapCache代码 ImageLoader mImageLoader=new ImageLoader(mRequestQueue,new BitmapCache()); //加载图片,先从内存中加载,内存没有再从网络加载 //url:图片网络路径 //view 显示图片的ImageView控件,R.drawable.default未加载完成显示的缺省图片 ,R.drawable.