一、什么是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&num=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)

Google开源库-Volley的使用的更多相关文章

  1. Google开源库-Volley

    Android平台的网络通信库,使是网通信 更快,更简单,更健壮 适合场景: 数据量不大,通信 频繁. 大数据,流媒体是不适合使用的 * 它主要是帮我们载入和缓存从远程网络加载的图片    * 所有的 ...

  2. Google 网络库Volley简介

    Volley是什么? 2013 Google I/O 大会发布的Android平台网络通讯库,旨在帮助开发者实现更快速,简单,健壮的网络通讯.支持网络图片的缓存加载功能. 适用场景:数据量不大,但是通 ...

  3. Google开源命令行参数解析库gflags

    Google开源命令行参数解析库gflags http://blog.csdn.net/lming_08/article/details/25072899 CMDLINE的解析 http://blog ...

  4. [Android]Google 开源的 Android 排版库:FlexboxLayout

    最近Google开源了一个项目叫「FlexboxLayout」. 1.什么是 Flexbox 简单来说 Flexbox 是属于web前端领域CSS的一种布局方案,是2009年W3C提出了一种新的布局方 ...

  5. 100个Github上Android开源库

    项目名称 项目简介 1. react-native 这个是 Facebook 在 React.js Conf 2015 大会上推出的基于 JavaScript 的开源框架 React Native, ...

  6. GitHub上排名前100的Android开源库介绍(来自github)

    本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍,至于排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果,然后过滤了 ...

  7. GitHub Top 100的Android开源库

    摘要: 本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍, 至于排名完全是根据GitHub搜索Java语言选择「Best M... 本项目主要对目前 GitH ...

  8. GitHub 上排名前 100 的 Android 开源库进行简单的介绍

    若有任何疑问可通过邮件或微博联系我 项目名称 项目简介 1. react-native 这个是 Facebook 在 React.js Conf 2015 大会上推出的基于 JavaScript 的开 ...

  9. GitHub开源库排名一百的简单介绍,值得收藏!

    GitHub Android Libraries Top 100 简介 本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍, 至于排名完全是根据 GitHub ...

随机推荐

  1. 史上最全的ASP.NET MVC路由配置

    MVC将一个Web应用分解为:Model.View和Controller.ASP.NET MVC框架提供了一个可以代替ASP.NETWebForm的基于MVC设计模式的应用. AD:51CTO 网+ ...

  2. 设置ASP.NET MVC站点默认页为.html页 .

    同事部署了一个Asp.Net MVC的站点,希望它的默认页是index.html页,在vs2010中给站点根目录增加了index.html,然后调用没有什么问题,但部署到IIS7上,在功能试图=> ...

  3. vim中tab转为空格

    :set ts=4:set expandtab:%retab!

  4. 锋友分享:国行和非国行iPhone的送修需知

    锋友 hfln0829 分享了一些关于苹果 iPhone 售后服务的注意事项以及有可能的维修方式.他表示,无论是国行还是港版送修,都必须关闭查找我的 iPhone 这个功能,如果你关闭不了,售后不会受 ...

  5. 迁移Reporting Services的方法与WMI错误

    今天上午,接到一个任务:迁移SQL SERVER 2005的报表服务到另外一台SQL SERVER 2008服务器,结果等我备份了两边服务器的ReportServer,ReportServerTemp ...

  6. SQL SERVER 2014 Agent服务异常停止案例

    生产环境一数据库服务器(SQL Server 2014)的Agent服务突然停掉了,检查了错误日志,发现在"SQL Server Agent"里面没有"SQLServer ...

  7. MongoDB学习笔记~MongoDBRepository仓储的实现

    回到目录 仓储大叔,只要是持久化的东西,都要把它和仓储撤上关系,为啥,为的是开发人员在使用时统一,高可用及方便在各种方式之间实现动态的切换,如ef与redis和mongoDB的切换,你完成可以通过IR ...

  8. 在服务器上发布MVC5的应用

    如果在Windows server 2012R2上发布MVC应用,步骤稍微简单一些: 安装Win Server2012R2 增加角色IIS和asp.net4.5, IIS里增加asp.net4.5支持 ...

  9. Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理9

    前两天因有事就没来得及写.今天刚刚好空了.这次写的是对角色和管理员对页面按钮之间的控制.先看页面效果 说明:先根据角色设置好角色的权限,然后管理员在对应的角色下的权限去设置其权限. 在设置角色权限的时 ...

  10. logback配置详解3<filter>

    logback 常用配置详解(三) <filter> <filter>: 过滤器,执行一个过滤器会有返回个枚举值,即DENY,NEUTRAL,ACCEPT其中之一.返回DENY ...