实 验 报 告 | ||||||||||||||
实验四 天气预报 | ||||||||||||||
| ||||||||||||||
实验项目名称 | 实验四 天气预报 |
1、实验目的: 练习掌握 Android 软件开发基本编程技术、后台服务、网络访问、网络资源使用等,设计制作一 Android 天气预报查询软件。 | |
2、实验内容: 实现的功能和界面可在实验开发中由每位同学自己设计,通过网络访问获取天气预报信息。以下功能和软件界面供参考: 天气预报使用中国天气网的接口。有一个显示天气情况的界面,通过图片和文字显示当前和未来几天的天气状况,包括温度、湿度、风向、日期、星期、发布时间和雨雪情况等。这些天气数据是通过后台服务获取的,这个后台服务按照一定时间间隔,从中国气象网上获取天气预报信息,并将天气信息保存在后台服务中。软件还需要提供基于 SMS 短信的天气数据服务,其他手机用户可以向本手机发送 SMS 短信,在短信中包含特定的关键字,则可以将已有的天气情况通过SMS 短信回复给用户。最后,每个被发送的 SMS 短信都会被记录下来,存储在数据库里。 | |
3、实验要求 (1)每位同学独立设计软件功能、完成软件的开发与测试。 (2)软件完成后由任课教师检查、提问软件功能、软件的设计和开发的代码。 (3)每位同学独立完成实验报告(包括学号、姓名,实验目的、实验内容、软件功能、设计思想、实验总结等),并将实验报告和开发软件的工程文件压缩包提交任课教师。 | |
四、实验重要代码 实验的核心代码主要是下截图的红框部分: 以下解释核心代码,具体文件见WeatherDemo. 1. 三大功能实现模块的设置(WeatherDemo.java文件) 三大块:天气预报、历史数据、系统设置 2. 获取实时天气数据,设置API接口。(WeatherAdapter.java) 这一段功能的实现,首先需要自己去中国气象网申请一个免费的API。给每个城市设置一个ID号,比如下截图: 设置密钥以及设置显示格式的实现代码如下: 获取天气 部分的实现代码如下: 3. 菜单选项(启动服务/停止服务/刷新/退出) 4. 短信请求功能(SmsReceiver.java) 短信接收,这里有一个判断,就是发送请求的用户输入的关键字(KeyWord)和系统本身设置的关键字是不是一样。如果满足,就收到请求弹出框。(实现结果可以看五) 关键代码如下截图。 | |
五、实验结果展示(工程运行结果) 1.用户面: 天气预报代码大全 三大块功能块的介绍: 2.实现 (1)天气预报 设置要获取天气的城市,输入它的城市ID,这里以101020100(上海)为例。 (所有城市的ID在获取中国天气网API时设置在WeatherAdapter.java中) 更新频率为10秒/次,短信服务关键字为SH 设置完毕之后,点右上角刷新,查看用户界面的”天气预报”,结果如下: (2)模拟 在tool->android 中设置模拟发送短息要求。 比如手机会收到来自用户156001078获取天气预报的请求。虚拟手机会收到该手机发送的带有关键字SH的弹出短信。 (因为手机不适配的问题,在自己手机上无法进行短信发送功能模拟,所以换用虚拟机,实现短信发送功能。) | |
6、实验结论(实验中的困难或需要注意的点) 实验提供的WeatherDemo已经提供了基本的功能,在基础上进行修改。 1. 遇到的问题首先是处理乱码问题,在Android 中文件中加入ding = "GBK";其次是获取天气API接口设置密钥,这个过程也比较漫长,在注册成功获得免费接口之后,对WeatherAdapter.java进行修改,主要是import了JSON内容。 然后解决了上面的问题之后,在运行三大功能的时候,对SMS短信接收功能的运行出现了很多问题,一个是手机类型不支持,导致无法接收到短信,设置断点解决问题,最后利用虚拟机模拟,成功的实现了短信接收功能。 2. 实验基本的实现最基础的天气预报功能:天气预报、历史数据、系统设置,以及一个简单的 菜单目录;学习了如何利用 Android 软件开发基本编程技术、后台服务、网络访问、网络资源使用等,制作完成这个Android 天气预报查询软件。 3. 逐渐熟悉软件Android studio的使用,但是还需要再以后的实现中继续熟练巩固。 | |
七、教师批阅意见: 成绩评定: 教师签字: 年 月 日 | |
八、备注: | |
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论