Volley
是一个HTTP库,它能够帮助Android apps更方便的执行网络操作,最重要的是,它更快速高效。可以通过开源的 AOSP 仓库获取到Volley 。
DEPENDENCIES AND PREREQUISITES
Android 1.6 (API Level 4) or higher
YOU SHOULD ALSO SEE
使用Volley来编写一个app,请参考2013 Google I/O schedule app. 另外需要特别关注下面2个部分: * ImageLoader * BitmapCache
VIDEO - Volley:Easy,Fast Networking for Android
Volley 有如下的优点:
- 自动执行网络请求。
- 高并发网络连接。
- 通过标准的HTTP的cache coherence(高速缓存一致性)使得磁盘与内存缓存不可见(Transparent)。
- 支持指定请求的优先级。
- 支持取消已经发出的请求。你可以取消单个请求,或者指定取消请求队列中的一个区域。
- 框架容易被定制,例如,定制重试或者回退功能。
- 强大的指令(Strong ordering)可以使得异步加载网络数据并显示到UI的操作更加简单。
- 包含了Debugging与tracing工具。
Volley擅长执行用来显示UI的RPC操作, 例如获取搜索结果的数据。它轻松的整合了任何协议,并输出操作结果的数据,可以是raw strings,也可以是images,或者是JSON。通过提供内置你可能使用到得功能,Volley可以使得你免去重复编写样板代码,使你可以把关注点放在你的app的功能逻辑上。
Volley不适合用来下载大的数据文件。因为Volley会在解析的过程中保留持有所有的响应数据在内存中。对于下载大量的数据操作,请考虑使用DownloadManager。
Volley框架的核心代码是托管在AOSP仓库的frameworks/volley
中,相关的工具放在toolbox
下。把Volley添加到你的项目中的最简便的方法是Clone仓库然后把它设置为一个library project:
- 通过下面的命令来Clone仓库:
git clone https://android.googlesource.com/platform/frameworks/volley
- 以一个Android library project的方式导入下载的源代码到你的项目中。(如果你是使用Eclipse,请参考Managing Projects from Eclipse with ADT),或者编译成一个
.jar
文件。
Lessons
学习如何通过Volley默认的行为发送一个简单的请求,以及如何取消一个请求。
学习如何建立一个请求队列,以及如何实现一个单例模式来创建一个请求队列。
学习如何使用Volley的out-of-the-box的请求类型(raw strings, images, and JSON)来发送一个请求。
学习如何实现一个自定义的请求
学习自http://developer.android.com/training/volley/index.html,欢迎交流讨论