当前课程知识点:Android应用开发基础 > 第九章 网络技术 > 9.3 Json > 9.3 实践案例-json协议
本节我们通过天气预报实例介绍
如何从服务器中获取并解析JSON格式的数据
通过天气预报实例学习如何解析JSON数据
首先创建一个应用程序 右击项目名
依次选择 “New” |“Module”设置应用程序的名字
在视图设置中 选择“Empty Activity”空白视图
视图的名字和布局的名字选择默认
进入项目的bulid.gradle文件添加
“okhttp.squareup.okhttp3:3.4.1"
和com.google.code.gson.gson:2.7依赖库
并点击右上角的Sync Now按钮同步配置
进入res\layout\activity_main布局文件
修改布局类型为LineLayout线性布局
排列方向为垂直
新建TextView组件,设置宽度为充满
高度为适配,ID为”textview"
文本为“今日天气”
文本大小为“20dp"
设置文本居中
复制TextView组件
设置ID为“textview_today"
文本为”20℃“
复制TextView组件,设置ID为“textview1"
文本为”本周天气“
复制TextView组件
设置ID为“textview_week"
文本为”20~30℃“
新建Button组件
设置宽度为充满
高度为适配,ID为btn_fresh
文本为”刷新"
点击”File"
依次选择“Settings"|"Plugins"
在搜索框输入gson
并点击"Search in repositories"进行搜索
选中GsonFormat点击”Install"下载
下载完成后重启Android Studio
新建Weather类
打开postman
输入Url参数
选择POST协议
将POST参数{“UserName":"user1"}放入Body
点击"Send"JSON返回结果
并复制JSON返回的结果
点击右键选择Generate
选中GsonFormat
将复制的JSON数据粘贴进来
点击"OK"
将JSON数据转换成类对象
选中activity_main布局文件
点击右键选择Generate
LayoutCreator为组件变量命名
采用同步方式自动生成组件初始化的代码
进入MainActivity类中新建网络监听对象callback
在onCreate()中创建initData()方法
在initData()方法中初始化
网络监听器对象callback
实现onResponse接口
新建parseJsonWithGson()方法
用于将网络请求成功后返回的JSON数据解析
在parseJsonWithGson()方法中
新建私有字符串变量strWeek并赋值为空
新建Gson对象
Weather对象
通过Gson的fromJson()方法将Json数据
转换为Weather对象
为mTextViewToday赋值解析的json数据
使用for循环解析Json数组
通过Weather的
mWeather.getROWSDETAIL().get().getWData()
解析日期数据
通过Weather的
getROWSDETAIL().get().getTemperature()解析气温数据
在TextView显示一周的气温数据
在Button响应函数onClick中
设置点击响应事件sendHttpRequest()
打开postman
在左上角选择“Java OK HTTP"
点击”Code"|"Copy to Clipboard"复制
自动生成的OkHttp访问代码
自动生成的OkHttp访问代码
粘贴到sendHttpRequest()
进入AndroidManifest文件声明访问网络的权限
代码编写完成后运行程序
显示一周的天气预报
点击“刷新”按钮刷新信息
这就是天气预报实例的全部内容
请大家按照讲课的内容完成天气预报的实例
在Android的手机和模拟器中运行
通过实例理解如何从服务器中获取并解析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章 在线点餐系统