使用Volley传送网络数据

Volley是一个使Android apps的网络操作更简单,最重要的是,更快的HTTP library。Volley可以通过开放的AOSP repository来获取。

Volley具有如下的好处:

  • 网络请求的自动scheduling。
  • 多个并发的网络连接。
  • 具有标准的HTTP缓存一致性透明的磁盘和内存响应缓存。
  • 支持请求优先级。
  • 取消请求的API。你可以取消单个请求,或你可以设置阻塞的,或者取消某个范围的请求。
  • 容易定制,比如retry和back off。
  • 强大的排序功能,使得正确地在你的UI中填充异步地由网络获取的数据变得简单。
  • 调试和跟踪的工具。

Volley擅长于RPC类型的用于填充UI的操作,比如获取一个结构化数据形式的搜索结果页。它很容易与任何协议集成,comes out of the box支持原始字符串,图片和JSON。通过提供这些你需要的功能内建的支持,Volley使你可以不用再写那些样板代码,而使你能够集中精力于你的app特有的逻辑。

由于Volley在解析期间在内存中holds住了所有的响应,Volley不适合大量的下载和流操作。对于量大的下载操作,可以考虑使用其它的东西,比如DownloadManager

核心的Volley库是在开放的AOSP中开发的,在frameworks/volley,它包含了主要的请求分发管道,及在Volley “toolbox”中包含了一系列常见的可用的实用工具。把Volley添加到你的project的最简单的方式,就是clone Volley repository,并把它设置为一个library project:

  1. 通过在命令行中键入如下的内容来git clone repository:
    git clone https://android.googlesource.com/platform/frameworks/volley
  2. 把下载到的源代码作为一个Android library project(如Managing Projects from Eclipse with ADT中所描述的那样,如果你使用Eclipse的话)导入到你的app project中或制作一个.jar文件

Lessons

发送一个简单的请求 学习如何使用Volley默认的行为发送一个简单的请求,及如何取消一个请求。

建立一个RequestQueue 学习如何建立一个RequestQueue,及如何实现一个单例模式来创建一个在你的app的整个生命周期中一直持续的RequestQueue。

创建一个标准的请求 学习如何使用Volley的out-of-the-box请求类型(原始字符串,图像,和JSON)发送一个请求。

实现一个定制的请求 学习如何实现一个定制的请求。

译自:http://developer.android.com/training/volley/index.html

Done.

你可能感兴趣的:(使用Volley传送网络数据)