Volley 是一个HTTP的库,使用它能让Android应用网络传输的操作更加轻松,快捷。Volley的代码是托管在Android 源代码树下的一个工程,编译出来后是一个volley.jar文件。以下是Volley的特点
- 自动调度在代码中提交的网络请求(http)
- 多个网络请求的并发执行
- 对用户透明的磁盘或内存的缓存机制(本质是Http缓存机制)
- 能够支持网络请求的优先级
- 能在代码中,必要时轻松的取消网络请求(如activity销毁时),可以取消指定tag的网络请求,或按某种机制分类的网络请求
- 可以让程序员更轻松的定制自己的请求管理,像多次尝试,失败处理等
- 很强大的次序机制,可以很轻松准确的用异步请求的数据来更新UI控件
- 非常容易调试
Volley非常善于使用跨线程的方式来更新UI界面,还能够很好的和其他的解析返回的JSON,图片,字符串等。想解析json字符串之类的操作都已经内部集成,无需你再写专门的代码来完成,你只要将精力放在APP的代码逻辑上就行。
Volley不适用于大文件的下载和视频流传输,因为Volley在解析网络数据返回的时候都是在内存中完成的,至于大文件的下载,最好考虑用DownloadManager实现。
Volley的源代码存放在这里,你可以用git clone直接获取:
git clone https://android.googlesource.com/platform/frameworks/volley
在下载后的代码目录中适用”ant jar”命令完成编译,会生成volley.jar包,这样你就能在Eclipse或Android Studio中适用啦。
使用起来比HttpClient和URLConnection方便的多,算是高级用法吧,初学者还是要写一下HttpClient和URLConnection的代码,来了解一下如何使用。