当前课程知识点:Android应用开发基础 > 第九章 网络技术 > 9.4 Volley > 9.4 volley
本节我们介绍Volley网络框架
Volley的英文意思为群发 迸发
Volley是2013年谷歌官方发布的一款
Android平台上的网络通信库
Volley非常适合一些数据量不大
但需要频繁通信的网络操作
使用Volley进行网络开发
可以使我们的开发效率得到很大的提升
而且性能的稳定性也比较高
但是Volley不适用于文件的上传下载操作
Volley有如下的特点
1 使网络通信更快 更简单 更健壮
2 Get/Post网络请求
及网络图像的高效率异步请求
3 可以对网络请求的优先级进行排序处理
4 可以进行网络请求的缓存
5 可以取消多级别请求
6 可以和Activity生命周期联动
Volley的优点主要包括
1 非常适合数据量不大
但通信频繁网络操作
2 直接在主线程调用服务端
并处理返回结果
3 可以取消请求
容易扩展
面向接口编程
4 通过使用标准的HTTP缓存机制
保持磁盘和内存响应的一致
Volley的缺点主要包括
1 只支持httpclient HttpURLConnection
2 大文件的下载支持不足
3 图片加载性能一般
下面我们介绍一个使用Volley框架
实现天气预报的应用
应用从服务器获取最近一周的天气信息并显示
点击刷新后
应用重新从服务器获取数据并更新
首先我们使用GsonFomat
根据Json数据自动生成Weather类对象
要使用Volley框架和Gson框架
可以直接在build.grade中dependencies
增加实现Volley框架和Gson框架的路径
Volley开源地址为
com.mcxiaoke.volley:library:1.0.19
其中1.0.19是volley的版本号
Gson的开源地址为
com.google.code.gson:gson:2.8.5'
增加网络访问权限
Android的网络权限为
android.permission.INTERNET
主视图中实现主界面的监听接口
由于网络请求后的数据
最后都是在主视图中显示
因此监听接口需要在主视图中实现
如图所示
1 新建volley.Response.Listener
网络监听器对象
2 初始化网络监听器对象
3 实现onResponse接口
4 将网络成功后获取数据解析
主视图中启动Volley网络请求访问
如图所示
1 定义访问网络的Url地址
2 设置Post访问请求参数
3 根据网络请求的ip地址和body内容
创建Request请求对象
并设置回调接口为Volley监听器对象
4 将请求加入到Volley全局队列
Volley队列初始化如图所示
1 新建一个Volley全局队列对象
如图队列为空
初始化全局队列
2 如果全局队列不为空
直接返回Volley全局队列
下面我们介绍一下使用Gson
将JSON数据解析为Weather对象的过程
提取信息更新UI的组件
如图所示
1 新建Gson对象
2 使用Gson将Json数据转换为Weather对象
3 解析Json数组
并分别解析日期和气温数据
4 显示一周的气温数据
这就是我们使用Volley框架
实现Json的数据解析
最后实现一周的天气访问
和刷新的全部过程
-Android Studio4.1.2安装常用问题汇总2021.3.15
-1.1 Android概述
--1.1 Android Studio安装与配置-实践案例
-1.1 Android概述--作业
-1.2 Android程序
-1.2 Android程序--作业
-1.3 Android程序调试
-1.3 Android程序调试--作业
-2.1 Activity概述
-2.1 Activity概述--作业
-2.2 Activity应用
-第2章 Android视图--2.2 Activity应用
-3.1 Activity布局
-3.1 Activity布局--作业
-3.2 Android基础组件
-3.2 Android基础组件--作业
-3.3 Android中级组件
-3.3 Android中级组件--作业
-3.4 Android适配器
-3.4 Android适配器--作业
-4.1 Fragment碎片组件
-4.1 Fragment碎片组件--作业
-4.2 ViewPager翻页类组件
-4.2 ViewPager翻页类组件--作业
-讨论:fragment与activity的生命周期有哪些不同?
-5.1 Android广播概述
-5.1 Android广播概述--作业
-5.2 Android广播工作原理
-5.2 Android广播工作原理--作业
-5.3 自定义广播
-第5章 广播--5.3 自定义广播
-5.4 有序广播
--5.4有序广播
-第5章 广播--5.4 有序广播
-6.1 系统服务概述
-6.1 系统服务概述--作业
-6.2 访问系统服务
-6.2 访问系统服务--作业
-6.3 自定义服务
-第6章 Android服务--6.3 自定义服务
-6.4 多线程
--6.4 多线程
-第6章 Android服务--6.4 多线程
-7.1 Android运行权限
-7.1 Android运行权限--作业
-7.2 URL URI概述
-第7章 内容提供者ContentProvider--7.2 URL URI概述
-7.3 ContentProvider概述
-第7章 内容提供者ContentProvider--7.3 ContentProvider概述
-7.4 访问通讯录
-第7章 内容提供者ContentProvider--7.4 访问通讯录
-7.5 课后作业案例
-8.1 相机服务
--8.1 相机服务
-8.1 相机服务--作业
-8.2 音视频服务
-8.2 音视频服务--作业
-9.1 网络服务概述
-9.1 网络服务概述--作业
-9.2 网络框架
--9.2 网络框架
-9.2 网络框架--作业
-9.3 Json
--9.3 Json
-第9章 网络技术--9.3 Json
-9.4 Volley
-第9章 网络技术--9.4 Volley
-10.1 文件存储
--10.1.3 实践案例-SharedPreference文件读写
-10.1 文件存储--作业
-10.2 数据库存储
-10.2 数据库存储--作业
-第1章 实训简介以及开发环境配置
-第2章 在线音乐播放器整体设计以及服务端开发
-第3章 在线音乐播放器-客户端开发
-第4章 在线音乐播放器-完整版
-第5章 QQ聊天项目
-第6章 在线点餐系统