文档章节

使用Volley传送网络数据

WolfCS
 WolfCS
发布于 2014/08/05 12:22
字数 673
阅读 81
收藏 0

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.

© 著作权归作者所有

下一篇: 解析XML数据
WolfCS
粉丝 81
博文 147
码字总数 505184
作品 4
杭州
高级程序员
私信 提问
明天的农夫/VolleyOkHttpGzip

VolleyOkHttpGzip This library includes three open source library code : volley(Mirror https://github.com/mcxiaoke/android-volley) , okhttp(Mirror : https://github.com/square/okh......

明天的农夫
2016/03/20
0
0
Android网络通信库Volley简介

什么是Volley 在这之前,我们在程序中需要和网络通信的时候,大体使用的东西莫过于AsyncTaskLoader,HttpURLConnection,AsyncTask,HTTPClient(Apache)等,今年的Google I/O 2013上,Vol...

蜗牛TT
2013/08/05
1K
0
Android 开源项目推荐之「网络请求哪家强」

网络请求这个话题基本是所有 App 开发都会遇到的,这也难怪之前很多人留言让我写写网络请求到底该怎么选择,今天就来说说网络请求到底哪家强! 1 原则 本篇说的网络请求专指 http 请求,在选...

oschina
2016/08/05
4.2K
16
Android 网络通信框架Volley简介(Google IO 2013)

Volley主页 https://android.googlesource.com/platform/frameworks/volley http://www.youtube.com/watch?v=yhv8l9F44qo&feature=playerembedded 1. 什么是Volley 在这之前,我们在程序中需......

今日竹石
2015/02/28
223
0
Xutils, OKhttp, Volley, Retrofit对比

Xutils这个框架非常全面,可以进行网络请求,可以进行图片加载处理,可以数据储存,还可以对view进行注解,使用这个框架非常方便,但是缺点也是非常明显的,使用这个项目,会导致项目对这个框...

安卓笔记侠
2018/08/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周二乱弹 —— 开发语言和语言开发的能一样么

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @花间小酌:#今日歌曲推荐# 分享The Score的单曲《Revolution》 《Revolution》- The Score 手机党少年们想听歌,请使劲儿戳(这里) @批判派...

小小编辑
今天
1K
16
oracle ORA-39700: database must be opened with UPGRADE option

ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00704: bootstrap process failure ORA-39700: database must be opened with UPGRADE option 进程 ID: 3650 会话 ID: 29......

Tank_shu
今天
3
0
分布式协调服务zookeeper

ps.本文为《从Paxos到Zookeeper 分布式一致性原理与实践》笔记之一 ZooKeeper ZooKeeper曾是Apache Hadoop的一个子项目,是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它...

ls_cherish
今天
4
0
聊聊DubboDefaultPropertiesEnvironmentPostProcessor

序 本文主要研究一下DubboDefaultPropertiesEnvironmentPostProcessor DubboDefaultPropertiesEnvironmentPostProcessor dubbo-spring-boot-project-2.7.3/dubbo-spring-boot-compatible/au......

go4it
昨天
3
0
redis 学习2

网站 启动 服务端 启动redis 服务端 在redis 安装目录下 src 里面 ./redis-server & 可以指定 配置文件或者端口 客户端 在 redis 的安装目录里面的 src 里面 ./redis-cli 可以指定 指定 连接...

之渊
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部