一、简介

上图是谷歌2013IO大会上发布volly的示意图。由图片可以看出volly适用于数据量不大而请求频繁的网络需求;
volly提供的功能:
1:JSON、图片(异步)
2:网络请求排序
3:网络请求优先级处理
4:缓存
5:多级别的屈晓请求
6:与activity生命周期联动(activity结束时结束所有网络请求)
二、使用:
volly主页:http://android.googlesource.com/platform/frameworks/volley
1.下载库
2. 导出为JAR
3.导入自己的工程作为库(支持sdk版本8以上的)
获取JASON数据
void getJSONVolley(){RequestQueue requestQueue = Volley.newRequestQueue(this);String JSONDateUrl = "http://lll";
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(
Request.Mothod.GET,JSONDateUrl,
null,
new Response.Listener<JSONObject>(){pubilc void onRequest(JSONObject response) {}},new Request.onErrorResponse(com.android.volley. VolleyError arg0){}});
requestQueue.add(jsonObjectRequest);requestQueue.start();}
获取图片资源:
public void LoadImageVolly(){String imagurl ="http://";RequestQueue requestQueue = Volly.newRequestQueue(this);final LruCache<String,Bitmap> lurcache = new LurCache<String,Bitmap>(20);ImageCache imageCache = new ImageCache(){@overridepublic void putBitmap(String key,Bitmap value){ lurcache.put(key,value);}@overridepublic Bitmap getBitmap(String key,Bitmap value){ lurcache.get(key,value);}ImageLoader imageLoader = new ImageLoader(requestQueue,imageCache);ImageLister listener = imageLoader.getImageListener(imageview,R.drawable.ic_launcher,R.drawable.ic_launcher); imageLoader.get(imageurl,listener);}}
public void NetworkImageViewVolley(){String imageurl = "http://XXXXX";RequestQueue requestQueue = Volley.newRequestQueue(this);final LruCache<String,Bitmap> lruCache =new LruCache<String,Bitmap>(20);ImageCache imageCache = new ImageCache(){@overridepublic void putBitmap(String key,Bitmap value){lruCache.put(key,value);}@overridepublic Bitmap getBitmap(String key){return lruCache.get(key);}};ImageLoader imageLoader = new ImageLoader(requestQueue,imageCache);imageview.setImageUrl(imageUrl,imageLoader)}
Volley应该是简化了网络通信的一些开发,特别是针对如下两种情况:
原文:http://www.cnblogs.com/jerryer/p/4438978.html