一、什么是Volley?
Volley is an HTTP library that makes networking for Android apps easier and most importantly, faster. Volley is available through the open AOSP repository. (上述的意思为:Volley是一个处理Android网络通信的工具,它可以是的Android中的网络通信更加的快速,高效)
--->url( https://developer.android.com/training/volley/index.html )
二、如何在自己的项目中引用Volley?
ps:上述描述了Volley的使用方式,你需要使用git工具克隆到本地,然后使用eclipse ADT将其转换成jar文件即可使用
三、Volley的使用讲解
3.1 使用Valley实现JSON字符串请求
/** * 通过Volley获取JSON数据 */ public void getJSONVolley(){ RequestQueue requestQueue=Volley.newRequestQueue(this); //用于获取一个Volley的请求对象 String jSONDateUrl="http://www.imooc.com/api/teacher?type=4#=30"; //请求的Url //(Request., url, listener, errorListener) //-->请求方式,请求的链接,成功得到请求,错误得到请求 JsonObjectRequest jsonObjectRequest=new JsonObjectRequest(Request.Method.GET, jSONDateUrl, null, //成功得到请求的数据 new Response.Listener<JSONObject>() { public void onResponse(JSONObject response) { System.out.println("response= "+response ); } }, //异常得到请求的数据 new Response.ErrorListener() { public void onErrorResponse(com.android.volley.VolleyError arg0) { System.out.println("对不起,有问题"); } } ); requestQueue.add(jsonObjectRequest); //在请求队列中加入当前的请求 }
3.2 使用Volley异步加载图片
/** * 使用Volley异步加载图片 * url:http://img.mukewang.com//55237dcc0001128c06000338.jpg */ public void loadImageVolley(){ String imageUrl="http://img.mukewang.com//55237dcc0001128c06000338.jpg"; //图片的链接 RequestQueue requestQueue=Volley.newRequestQueue(this); //创建Volley的请求对象 final LruCache<String, Bitmap> lruCache=new LruCache<String,Bitmap>(20); //创建一个缓存对象 缓存大小为20 ImageCache imageCache=new ImageCache() { @Override public void putBitmap(String key, Bitmap value) { lruCache.put(key, value); } @Override public Bitmap getBitmap(String key) { return lruCache.get(key); } }; //使用ImageLoad进行图片的加载,加载参数(请求,图片的缓存) ImageLoader imageLoader=new ImageLoader(requestQueue, imageCache); //参数(控件名称,找不到时候的图片,异常时候的图片) ImageListener listener=imageLoader.getImageListener(img, R.drawable.ic_launcher, R.drawable.ic_launcher); imageLoader.get(imageUrl, listener); }
-->使用这个方法使得我们获取到网络中的图片
四、分析与总结
Volley的使用大大减少了我们异步获取网络数据中的代码,使得我们更快,更高效的得到从网络中取得数据
五、相关jar包及链接
5.1 Volley.jar ( http://yunpan.cn/cdYYMFt33Ky7d 访问密码 e9b4)
5.2 Volley官方介绍 ( https://developer.android.com/training/volley/index.html )