一、什么是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. 0029 Java学习笔记-面向对象-枚举类

    可以创建几个对象? n多个:大部分的类,都可以随意创建对象,只要内存不爆掉 1个:比如单例类 有限的几个:采用单例类的设计思路,可以只允许创建少数的几个特定的对象:还有就是枚举类. 创建少数几个对象, ...

  2. 实时事件统计项目:优化solr和morphline的时间字段

    morphline优化,如下: 传过来的时间戳被复制到3个字段:eventTimeInMinuteChina_tdt ,eventTimeInMinuteUTC_tdt ,eventTimeInHou ...

  3. Eclipse不自动编译java文件的终极解决方案

    最近我的eclipse经常犯傻,项目中总是有很多,启动项目也是没有启动类.查了下项目中生成的class文件,我靠竟然没有,或者还是以前的.原来是eclipse犯傻了,它没帮我自动编译java文件.一般 ...

  4. LLVM 笔记(四)—— three-phase 设计的收益

    ilocker:关注 Android 安全(新手) QQ: 2597294287 采用 three-phase 的设计方式,便于编译器支持多种语言和多种目标平台. 如果在优化器阶段采用通用的 IR ( ...

  5. Ubuntu 更新源失败[GPG error]

    对于错误 GPG error: http://ppa.launchpad.net precise Release: The following signatures couldn't be verif ...

  6. 如何捕捉并分析SIGSEGV的现场

    linux下程序对SIGSEGV信号的默认处理方式是产生coredump并终止程序,可以参考man 7 signal Signal Value Action Comment ───────────── ...

  7. 架构实例之SpringTest

    架构实例之SpringTest 1.开发工具和开发环境       开发工具: MyEclipse10,JDK1.6.0_13(32位),Tomcat7.0(32位),mysql5.7.13 开发环境 ...

  8. Leetcode: sliding window maximum

    August 7, 2015 周日玩这个算法, 看到Javascript Array模拟Deque, 非常喜欢, 想用C#数组也模拟; 看有什么新的经历. 试了四五种方法, 花时间研究C# Sorte ...

  9. Hibernate双向多对多关联

    一.配置双向多对多关联 以Project类(项目)和Emp类(员工)为例: 1.创建Project类,并需要定义集合类型的Emp属性 public class Project { //编号 priva ...

  10. NYOJ 70

    描述:给定两个数n,m,其中m是一个素数. 将n(0<=n<=2^31)的阶乘分解质因数,求其中有多少个m. 注:^为求幂符号. 输入: 第一行是一个整数s(0<s<=100) ...