Google开源库-Volley的使用
一、什么是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的使用的更多相关文章
- Google开源库-Volley
Android平台的网络通信库,使是网通信 更快,更简单,更健壮 适合场景: 数据量不大,通信 频繁. 大数据,流媒体是不适合使用的 * 它主要是帮我们载入和缓存从远程网络加载的图片 * 所有的 ...
- Google 网络库Volley简介
Volley是什么? 2013 Google I/O 大会发布的Android平台网络通讯库,旨在帮助开发者实现更快速,简单,健壮的网络通讯.支持网络图片的缓存加载功能. 适用场景:数据量不大,但是通 ...
- Google开源命令行参数解析库gflags
Google开源命令行参数解析库gflags http://blog.csdn.net/lming_08/article/details/25072899 CMDLINE的解析 http://blog ...
- [Android]Google 开源的 Android 排版库:FlexboxLayout
最近Google开源了一个项目叫「FlexboxLayout」. 1.什么是 Flexbox 简单来说 Flexbox 是属于web前端领域CSS的一种布局方案,是2009年W3C提出了一种新的布局方 ...
- 100个Github上Android开源库
项目名称 项目简介 1. react-native 这个是 Facebook 在 React.js Conf 2015 大会上推出的基于 JavaScript 的开源框架 React Native, ...
- GitHub上排名前100的Android开源库介绍(来自github)
本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍,至于排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果,然后过滤了 ...
- GitHub Top 100的Android开源库
摘要: 本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍, 至于排名完全是根据GitHub搜索Java语言选择「Best M... 本项目主要对目前 GitH ...
- GitHub 上排名前 100 的 Android 开源库进行简单的介绍
若有任何疑问可通过邮件或微博联系我 项目名称 项目简介 1. react-native 这个是 Facebook 在 React.js Conf 2015 大会上推出的基于 JavaScript 的开 ...
- GitHub开源库排名一百的简单介绍,值得收藏!
GitHub Android Libraries Top 100 简介 本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍, 至于排名完全是根据 GitHub ...
随机推荐
- 敏捷遇上UML-需求分析及软件设计最佳实践(郑州站 2014-6-7)
邀请函: 尊敬的阁下:我们将在郑州为您奉献高端知识大餐,当敏捷遇上UML,会发生怎样的化学作用呢?首席专家张老师将会为您分享需求分析及软件设计方面的最佳实践,帮助您掌握敏捷.UML及两者相结合的实 ...
- Atitit.木马病毒自动启动-------------win7计划任务的管理
Atitit.木马病毒自动启动-------------win7计划任务的管理 1. 计划任务的Windows系统中取代AT 的schtasks命令1 2. Win本身的系统计划任务列表1 2.1. ...
- 深入理解Linux修改hostname
当我觉得对Linux系统下修改hostname已经非常熟悉的时候,今天碰到了几个个问题,这几个问题给我好好上了一课,很多知识点,当你觉得你已经掌握的时候,其实你了解的还只是皮毛.技术活,切勿浅尝则止! ...
- Failed to retrieve data for this request. (Microsoft.SqlServer.Management.Sdk.Sfc)
使用Microsoft SQL SERVER 2014 Management Studio访问Azure SQL Database时,查看存储过程时遇到下面错误信息: TITLE: Microsoft ...
- .NET应用架构设计—重新认识分层架构(现代企业级应用分层架构核心设计要素)
阅读目录: 1.背景介绍 2.简要回顾下传统三层架构 3.企业级应用分层架构(现代分层架构的基本演变过程) 3.1.服务层中应用契约式设计来解决动态条件不匹配错误(通过契约式设计模式来将问题在线下暴露 ...
- SQL Server 2008 R2——统计各部门某年入职人数
=================================版权声明================================= 版权声明:原创文章 谢绝转载 请通过右侧公告中的“联系邮 ...
- Windows10 会不会成为微软的新起点?
Because if you change the way you see the world, you can change the world you see. 如果你改变看世界的方式,你就能改变 ...
- 【java开发】数据类型
ok,为期两天的ubuntu常用命令学习结束,现在开始java语言的学习. 上篇结尾说了ubuntu下的jdk文件安装,现在顺便说一下win下的jdk环境变量配置 在官网下载符合系统的jdk文件,可以 ...
- [Django]数据批量导入
前言:历经一个月的复习,考试终于结束了.这期间上班的时候有研究了Django网页制作过程中,如何将数据批量导入到数据库中. 这个过程真的是惨不忍睹,犯了很多的低级错误,这会在正文中说到的.再者导入数据 ...
- 关于Composer——好久不动手了。。。
六月第一“血” 看书,发现喜欢从尾开始读起,然后 php经典实例 中,最后一章是PEAR内容,知乎上一查,完,过时了,完全都是Composer,那就学一下吧 一.啥东西 一句话:依赖管理工具: 解释: ...