使用 Volley 传输网络数据
Volley 是一个 HTTP library,能够使 Android apps 的网络数据传输更加容易,更重要的是,快捷。可以从开源的 AOSP 仓库获取 Volley
Volley 提供了以下好处:
自动计划网络请求
多并发网络连接
遵循标准的 HTTP cache coherence 来响应磁盘和内存缓存
支持请求优先级
请求取消 API,你可以取消单一的请求,或者你可以取消一块区域或者一整个范围内的请求
简便的自定义,例如,请求的重试和后退
强有序特性使得异步从网络获取数据并正确填充到你的 UI 变得更加简单
Debug 和跟踪工具
Volley 擅长使用 RPC-type(远程过程调用类型) 操作来填充 UI,例如将一个搜索结果页转化为一个结构化数据。它能够轻松集成任何协议,突破传统并且支持原始的 strings,image 和 JSON。通过提供你需要的内建特性支持,Volley 可以让你免于书写样板代码并且使你集中注意力在你的 App 中特定的程序逻辑上。
Volley 不适合大量的下载和流操作,因为 Volley 在内存中持有所有的待解析的响应。如果需要大量的下载操作,应该考虑使用可选的例如DownloadManager。
Volley 核心库的开发是在 openAOSP仓库的frameworks/volley,其包含了主要的请求分发管道和一些位于 Volley “toolbox”中的常规的应用工具,将 Volley 添加到你的工程的最简单的方式是 clone Volley 仓库到你的工程并且将它设为一个 library project:
通过输入以下 Git 命令来 clone 该仓库:
git clone https://android.googlesource.com/platform/frameworks/volley
下载 Volley 源码并且将它作为 module 导入到你的 App 工程中,查看这里的方法Create an Android Library.
课程
学习使用 Volley 默认的行为来发送一个简单的请求,一级如何取消一个请求
学习如何配置一个RequestQuenue,如何通过实现一个 singleton pattern(单例模式) 来创建一个持续整个 App 生命周期的RequestQuenue
学习如何使用 Volley 其中一个突破传统的请求类型来发送一个请求(原始的 strings,images 和 JSON)
学习如何实现一个自定义请求