本科毕业设计论文基于安卓系统开发的移动天气预报系统Mobile Weather Forecast Software
院系 计算机学院
专业 软件工程
班级 软件十班
学号 16210121025
学生姓名 叶建军
指导教师 马世登
提交日期 2020年4月15日
毕业设计论文原创性声明
本人郑重声明所呈交的毕业设计论文 是本人在指导老师的指导下独立进行的设计研究工作及取得的成果论文中引用他人的文献、数据、 图件、资料均已明确标注出论文中的结论和结果为本人独立完成不包含他人已经发表或撰写的作品及成果。对本文的研究作出贡献的个人和集体均已在论文中作了明确的说明。本人完全意识到本声明的法律结果由本人承担。
毕业论文作者签字 签字日期 年 月 日
中文摘要
自改革开放以来人们的生活水平与经济情况比起以前有了翻天覆地的变化再加上交通工具的高速发展使得人们的出行比以前更加的频繁。而时至今日无论是日常工作或者是娱乐出行都已离不开天气预报了因此本文开发了一套基于安卓开发平台的移动天气预报应用系统。本系统主要运用andro id s tudio软件进行开发与维护其脚本语言是Java后台数据库则是Litep al数据库。该系统主要是通过用户点击查询天气预报的城市后台会自动从指定的网站上获取该城市实时的时间、温度、天气情况、空气质量、还有未来七天的气温与生活建议等一系列JSON数据信息随后采用GSON方法解析数据并通过XML布局使天气预报的信息显示在应用系统上。另外本系统还实现了后台自动刷新功能与手动更新功能使用户能够第一时间掌握最新的天气信息极大地方便了用户的出行及行程安排避免了恶劣天气带来的不必要麻烦。
关键词移动天气预报应用系统Andro id S tudio Litep al
1. 1. 1
I
1.
AB STRAC T
Since the reform and opening up,people's living standards and economicconditions have changed dramatically compared with the previous, coupledwith the subway,bus convenience and other reasons make people travel morefrequently than before.Today,people can not do without weather forecast,whether it is daily work or entertainment travel, so this paper has developeda mobile weather forecast application system based on Android developmentplatform.This system mainly uses the android studio software to carry on thedevelopment, its development script language is mainly Java, the backgrounddatabase which develops is the Litepal database. The system mainly byclicking want to query the city, the background automatically from thedesignated website to obtain the c ity's real-time time, temperature,weatherconditions, air quality, the next seven days of weather temperature, lifeadvice and a series of JSON data information, and then use the GSON toparse the data, finally through the XML layout to make the weather forecastinformation display on the application system. In addition, the system alsorealizes the function of automatic background refresh weather informationand manual update, so that users can grasp the latest weather situation in thefirst time,which greatly facilitates the travel and travel arrangements of users,and avoids unnecessary trouble caused by bad weather.
Keywo rds:Mob ileWeatherF orec as tApp lic ationAndro id S tudio Litep al
I I
目录
第一章绪论. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
1. 1系统研究背景. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
1.2研究的目的与意义. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
1.3国内发展现状. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
1.4系统结构. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
第二章相关理论与技术. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
2. 1开发环境的介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
2.2相关技术的介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
2.2. 1 Java技术介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
2.2. 2 Android Studio开发工具介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
2.2. 3 LiteP al介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
第三章系统可行性需求分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
3. 1系统目标. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
3.2 目标用户. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
3.3系统设计及作用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
第四章系统总体设计与开发. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
4. 1系统总体设计思路. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
4.2系统总体开发过程与代码贴图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
4.2. 1第一阶段. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
4.2. 2第二阶段. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
4.2. 3第三阶段. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
4.2.4第四阶段. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41
I I I
4.3数据库结构表. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51
4.4系统界面与功能展示. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52
第五章系统性能测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59
5. 1系统测试环境. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59
5.2系统功能测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59
5.3系统测试结果. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59
第六章系统性能测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60
参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61
致谢. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62
IV
第一章绪论
1 . 1系统研究背景
天气预报是利用近代科学知识与科技手段来预报未来某一地区的地球大气情况。在古代开始人类就已经懂得开始利用天气预报来安排日常工作和生活如农业种植与战争行动等方面。而今天我们所了解到的天气预报主要是通过收集大量的气压、风向、湿度、温度等气象信息数据来识别大气环绕的过程气象学并以此确定未来的天气变化异常。但是 由于大气过程的混乱和当今科学并没有能透彻地了解到大气运动的全过程所以天气预报难免是会出现一些小误差的。 1
公元前340年左右古希腊著名科学家亚里士多德撰写了世界上第一部气象学专著《气象学通论》。这本书描述了飓风、焚风和风的成因和分布光晕、彩虹和闪电等大气光图像云、雨、雹和霾的形成以及气候变化。亚里士多德系统地梳理了历代气象理论和经验对各种气象现象提出了自己独特的观点和理论使之成为一门系统的古代气象学是古代天气预报的思想基础。亚里士多德把大气现象与天文学领域的观测研究范围分为两部分一部分是月球轨道内到地面的区域另一部分是月球轨道以外的区域。他认为湿冷辐散形成水汽水汽是雨水的来源而干热辐散能形成风。因此空气是水蒸气和风的共同介质而雪、雨、云、露、霜等关于水的状态改变都是根据空气温度的变化而形成的。也正是因为亚里士多德关于气象学的地位与权威也决定了往后西方气象学长达两千年的理论都未能摆脱亚里士多德气象学的影响。 2
此外天气预报还是国民经济和国防建设服务的重要手段。天气预报按预报范围来划分包括地方性天气预报与区域性天气预报。根据服务对象的需要还可以提供每日公共天气预报和专业天气预报。根据时间限制也可以分为短期、 中期、长期天气预报。气象台通过多种渠道及时准确发布天气预报特别是灾害性天气预报对保护人民群众生命财产安全促进经济发展具有重要作用。天气预报技术还随着电报技术的强大而逐步发展起来。在20世纪50年代之前天气预报都是以天气学原理为基础的。但随着计算探测技术的发展我们国家在原有的数理统计方法和传统的天气图方法上还将卫星探测数据和气象雷达应用到预报业务中并同时发展了数值预报方法。该方法通过确定大气质量、能量和动量守恒原理可以显著
[1]百度百科https://baike baidu com/item/%E5%A4%A9%E6%B0%94%E9%A2%84%E6%8A%A5/84068#reference-[1]-11134158-wrap 2020/3/15。
[2]钱维宏天气学北京大学出版社 2004 103-142
1
提高天气形势预报的质量预测大气的物理过程促进天气预报的客观量化。 3
总之天气预报的诞生给人们带来了很多便利可以使人们在出门前做好准备。对渔业和农业而言更有意义渔民、农夫可以借此减少由气象灾害所造成的各种损失。此外它还可以防止由气象灾害引起的山体滑坡、洪水、泥石流等次生灾害造成的各种损失提前预报可以让有关部门提前防范。但由于某些地方检测水平能力限制一些地方性恶劣天气无法准确预测这方面还是需要人们加强防范。
1 .2研究的目的与意义
目的这次以开发移动天气预报应用系统为选题主要是想了解天气究极对我们日常生活有多大的影响且我们为此能提前做出怎样的预防措施通过翻查气象学的资料我们可以知道天气主要受风、云、雾、雨、闪、雪、霜、雷、雹、霾、气温、气压、湿度、风、等各种天气元素的影响4而他们之间就算只是一点点微妙的变化都能对我们的生活带来很大的影响所以能做出一款实时更新世界各地天气情况且能预测未来7天天气状况的软件我认为是必不可缺的。
意义本移动天气预报应用系统的开发宗旨是便利人们的日常工作与娱乐出行并延伸有关气象灾害信息的覆盖范围这样广大人民群众就能够在最短的时间里获取到最新最快的气象灾害预警信息 以便群众提前做好预防措施把由气象灾害带来的损失降到最低程度。
1 .3国内发展现状
如今天气预报不仅是方便了人们的出行还对我国的许多社会经济部门的发展都有很大贡献具体可看以下信息
1.政府部门需要根据气象部门提供的气象预报警报信息对可能出现的高温、雷暴、狂风、暴雨、台风等灾害提前采取措施减少生命财产的损失。
2.气象信息对水利、 电力、 民航、运输等部门工作起着关键的作用。
3.气象预报警报信息系统以及公共气象信息服务是一种"公益性"的社会基础设施利用该设施可以为人民生活或生产提供所需要的优质气象信息服务。
4.气象信息是重要的经济来源。据有关部门的研究表明企业若能有效利用气象信息其经济效益会显著提高。例如电冰箱和空调器厂商可以根据气温变化与销售额增减的关系借此整理出相关的销售与生产计划。 5
[3]大气科学辞典编委会大气科学辞典气象出版社 1994 624
[4]百度百科 https://baike baidu com/item/%E5%A4%A9%E6%B0%94/24449 2020/3/16。
[5]百度知道 https://zhidao baidu com/question/1737833798159904787 html 2020/3/17。
2
1 .4系统结构
论文将分为六个部分对所研究的课题进行阐述。
第一章详细介绍本系统的开发背景与意义并对天气预报在我国发展的现状做一个简单的描述。
第二章详细介绍本系统的开发环境和与之相关的技术。
第三章分析系统目标构建需求用户分析图 明确本系统的设计。
第四章系统的总体代码设计与功能代码块的实现保证系统的数据库功能的正常使用并构建结构图最后展现系统功能。
第五章测试并分析系统。 明确系统的运行环境对系统的各方面性能展开评估输出测试结果
第六章对全文的概括和总结。
3
数脉科技(shuhost)8月促销:香港独立服务器,自营BGP、CN2+BGP、阿里云线路,新客立减400港币/月,老用户按照优惠码减免!香港服务器带宽可选10Mbps、30Mbps、50Mbps、100Mbps带宽,支持中文本Windows、Linux等系统。官方网站:https://www.shuhost.com* 更大带宽可在选购时选择同样享受优惠。* 目前仅提供HKBGP、阿里云产品,香港...
萨主机(lisahost)新上了美国cn2 gia国际精品网络 – 精品线路,支持解锁美区Netflix所有资源,HULU, DISNEY, StartZ, HBO MAX,ESPN, Amazon Prime Video等,同时支持Tiktok。套餐原价基础上加价20元可更换23段美国原生ip。支持Tiktok。成功下单后,在线充值相应差价,提交工单更换美国原生IP。!!!注意是加价20换原生I...
IntoVPS是成立于2004年的Hosterion SRL旗下于2009年推出的无管理型VPS主机品牌,商家提供基于OpenStack构建的VPS产品,支持小时计费是他的一大特色,VPS可选数据中心包括美国弗里蒙特、达拉斯、英国伦敦、荷兰和罗马尼亚等6个地区机房。商家VPS主机基于KVM架构,最低每小时0.0075美元起($5/月)。下面列出几款VPS主机配置信息。CPU:1core内存:2GB...