详情

天气预报APP的设计与实现

申报人:张洹睿 申报日期:2021-04-02

基本情况

2021校院级项目管理
天气预报APP的设计与实现 学生申报
创新训练项目
工学
计算机类
学生自主选题
一年期
本课题着重设计的方面是辅助服务,如何做到人性化提醒,伴随着科技的发展,全球信息化使得,智能手机的使用在人们的日常生活中日益广泛。出门旅行或工作时需要查询的东西会有很多,包括航空、陆运、海运等。本课题主要研究的是在气象方面,带给人们非常贴心的提示以及身心的愉悦。

第六届网页设计大赛

省级创新创业项目“乐学而知”小程序

指导教师提供以下支持:

1、创新训练的过程指导;
2
、必要的技术指导;
3
、团队合作指导。
院级

项目成员

序号 学生 所属学院 专业 年级 项目中的分工 成员类型
张洹睿 计算机科学与工程学院(软件学院) 软件工程(嵌入式培养)(本科) 2018 前端
李研 计算机科学与工程学院(软件学院) 软件工程(嵌入式培养)(本科) 2018 测试
张二雄 计算机科学与工程学院(软件学院) 软件工程(嵌入式培养)(本科) 2018 后端

指导教师

序号 教师姓名 所属学院 是否企业导师 教师类型
韩平 马克思主义学院

立项依据

该课题应达到以下目的:

1、理解软件工程的理论和一般方法;

2、掌握软件需求分析、系统设计、数据库设计、软件测试等基本方法;

3、掌握基于Android平台进行APP开发;

4、掌握相关文档的撰写规范和撰写方法。

本次课题的主要内容是建立一个App Widget应用程序,启动程序后可以进行城市、更新频率的设置,可以通过图片和文字显示当前和未来的天气状况,包括温度、湿度、风向和雨雪情况等。这些天气数据是通过后台服务获取的,这个后台服务可以按照一定的时间间隔,通过开源API提供的服务获取天气预报信息,并将天气信息保存在数据库中,并且在气温达到一定条件是会有智能弹窗的提醒。   

随着国内手机的普及,大量的人群开始使用智能手机,智能手机也成了人们不可或缺的信息获取渠道,大量的高龄人群也陆续开始使用智能手机,相较于安卓系统本身自带的天气系统如果只是看看天气,对于高龄人群就已经足够了,但现在人们的生活水平正在提高,无论是年轻人还是年纪稍微大一点的都需要辅助服务,在这个年轻人大部分是独生的时代,对于老年人来说儿女都在忙工作,自己照顾自己也没有那么方便,至少如果有一款会提示他天气如何适合做什么的天气预报app存在,即使是一个人也会感觉到温暖,而本app就是为了温暖而存在的必要产品。

本课题着重设计的方面是辅助服务,如何做到人性化提醒,随着现代信息技术的迅猛发展,智能手机的使用在人们的日常生活中日益广泛。出门旅行时要进行航班查询、列车时刻表查询、天气情况查询、出行地图和公交查询等,以便做好出行规划。

经调查,大部分人出门一定会天气预报,但无法自行通过温度把控应该怎样出行,所以天气预报的人性化就很重要了。天气时刻伴随在我们周围,给老百姓的工作、生活、出行、生产等带来方便。天气预报APP可提前通知用户近日的气候情景,天气预报可以减少因气象灾害造成的财物损失,并提供相应的出行方案。

据了解,使用比较多的天气预报app有墨迹天气,知趣天气等等app,其中使用比较广泛的为墨迹天气,在天气预报这方面没有什么可以说的,但是界面已经人性化的辅助做的不够好,本App就是为了补足普通天气预报的辅助服务而设计的,在基于准确的天气预报的基础上加入对用户的关心,生活上的建议,以及适宜的生活方式,对无趣生活的提点,比较智能化的天气预报App

将系统功能的整体规划,将天气预报客户端功能划分为气象获取、高低温预警、专业气象和人性化提醒四个模块,个性化设计每一个模块的具体功能;进行通信接口的设计或者客户端的通信接口包括客户端与气象服务数据库的通信接口和与客户应用的通信接口。

技术路线:

使用基于SOAP(简单对象访问协议)Web Service技术来实现与服务器端的信息交互,获取网络上的数据。Web Service使用基于XML技术的消息处理,作为基本的数据通讯方式。Web Service建立在一些通用协议的基础上,如HTTPSOAPXMLWSDLUDDI等。各应用程序通过网络协议和规定的一些标准数据格式(HTTPXMLSOAP)来访问Web Service。而所有的SOAP消息都使用XML编码。一条SOAP消息就是一个包含有一个必需的SOAP的封装包,一个可选的SOAP标头和一个必需的SOAP体块的XML文档。

XML文档在Android平台上的解析可以通过SAX的方式方便快速的完成。解析Android应用程序中获得的列表数据XML文件,对XML文件中的数据实现分离,得到指定的所需要的信息,然后执行存入数据库或显示到页面等相应的处理。

Android的开发组ActivityIntent ReceiverServiceContent Provider等,可以实现不同页面之间的跳转、数据的获取和实现与数据库的实时交互、不同页面和进程间数据的共享。

拟解决的问题:

1、使用基于SOAP(简单对象访问协议)Web Service技术来实现与服务器端的信息交互,且基于XML技术的消息处理,通过SAX的方式解析XML文档。

2、通过尽量减少布局的层级和复杂度降低Android系统的卡顿。

3、数据提供者ForecastProvider继承ContentProvider的实现。

4、后台服务周期性的获取开源API的天气数据并存储到SQLite,从SQLite读取出要显示的数据,定时更新“显示页面”的时间。

5、需要使用数据库、文件系统或网络实现底层存储功能,有两部分数据需要存储,一个是显示页面的数据,另一个是详细页面的数据。但是数据量都不是很大,因此可以选择SQLite数据库作为存储数据的方法,DatabaseHelper建立数据库,DatabaseHelper类继承SQLiteOpenHelperSQLiteOpenHelper这个类可以辅助建立、更新和打开数据库。

预期成果:

1、需求分析报告1份。

    2、系统设计报告1份。

3、天气预报APP 1套。

4、结题报告1份。

2021.2.1-2021.2.28:学习Android开发、系统设计的理论知识,进行知识储备。

2021.3.1-2021.3.30:对基于Android的天气预报进行需求分析,初步进行系统设计。

2021.4.1-2021.6.30:细化需求,完善系统总体设计,完成数据库概要设计和逻辑设计。

2021.7.1-2021.9.30:基于Android实现系统各个功能模块,完成系统测试。

2021.10.1-2021.10.31:进行总结,准备结题。

 具有较好的数据结构基础知识、Java语言编程能力以及面向对象的程序设计能力。

 具有较好的数据结构基础知识、Java语言编程能力以及面向对象的程序设计能力。


学习并掌握基于Android平台的APP开发方法。

经费预算

开支科目 预算经费(元) 主要用途 阶段下达经费计划(元)
前半阶段 后半阶段
预算经费总额 1500.00 750.00 750.00
1. 业务费 1100.00 550.00 550.00
(1)计算、分析、测试费 0.00 0.00 0.00
(2)能源动力费 300.00 市内交通费 150.00 150.00
(3)会议、差旅费 800.00 会议费用,出差住宿,车船票 400.00 400.00
(4)文献检索费 0.00 0.00 0.00
(5)论文出版费 0.00 0.00 0.00
2. 仪器设备购置费 300.00 云服务费,储存设备,其他电子元件 150.00 150.00
3. 实验装置试制费 0.00 0.00 0.00
4. 材料费 100.00 打印费,装帧费 50.00 50.00
结束