写在前面的话
1、主要参考自:https://b23.tv/6KZCDu
2、内容如果有不对的,希望可以指出或补充。
3、新知识。
一、概述
网络通信框架(库)(Volley):优势如→能使网络通信变得更快、更简单、更健壮。既可以像AsyncHttpClient(一种Android网络通信框架)一样非常简单地进行HTTP通信,也可以像Universal-Image-Loader(一种Android网络通信框架)一样轻松加载网络上的图片。
适用于数据量不大但通信量频繁的场景。不适用于下载大量内容
的操作或流式传输(streaming,通过网络传送如视频、音频等流媒体的技术总称)操作,因为在解析过程中,Volley 会将所有响应存储在内存中。
Volley提供的功能:
- 以异步的方式获取到JSON字符串(键值对格式)、图片
- 网络请求的排序
- 网络请求的优先级处理
- 处理缓存
- 多级别的取消请求
- 当activity结束时,可以取消掉请求
二、测试
(一)获取Volley
应用对应的 build.gradle 文件
项目清单文件
(二)JSON字符串请求
代码如下:
结果如下:
(三)加载图片
代码如下:
布局略(添加一个ImageView控件)
结果如下:
(四)NetWorkImageView控件
1、基础知识
概述:Volley提供的一个控件,用于替代传统的ImageView控件,被父类控件detach(分离)时,会自动的取消掉网络请求。
在布局中引入,如:
2、代码
如下:
结果同(三)