【天气播报系统设计与实现3000字(论文)】_第1页
【天气播报系统设计与实现3000字(论文)】_第2页
【天气播报系统设计与实现3000字(论文)】_第3页
【天气播报系统设计与实现3000字(论文)】_第4页
【天气播报系统设计与实现3000字(论文)】_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE天气播报系统设计与实现目录TOC\o"1-2"\h\u371摘要 15703一、详细设计 1104171.1系统总体结构 1305771.2系统界面设计 2202661.3系统功能模块设计 314913二、系统运行环境 410148参考文献 5摘要信息时代的社会,智能手机已是我们生活中的重要伙伴,通过智能手机获得外界信息已成为当前最方便、最时尚、最快捷的途径。古人云:“出门看天色”,天气情况与我们生活息息相关。在过去的年代我们只能通过电视节目播放的天气预报来获取天气信息,而在现在高科技高速发展的时代我们只需要通过随身携带的数码产品便能得知实时的天气信息,不可谓不方便。而我此次研究的课题便是在我们随身携带的手机上实现实时的天气预报。关键词:安卓;天气预报;设计一、详细设计1.1系统总体结构本天气播报系统主要有以下几个大模块(如图4-1),大模块下还细分了若干小模块,满足了软件模块化设计的要求。采用这种模块化的软件开发管理方式的好处在于软件结构清晰明了,容易为人所理解和阅读,同时为软件规范管理提供了有力保证。也为今后程序添加功能,进行升级预留了接口。除此之外,模块化设计中,模块间的设计和互相约束也十分重要,切忌随意脱离设计框架,在所有模块设计完成后,还必须把每个已设计完成的模块依照总体框架的规则进行集合。按照本软件的功能需求,拟为软件划分的大功能模块如图1-1所示图1-l系统的基本功能模块对于系统的模块主要划分为外部服务器气象数据获取,内部服务器提供决策分析及客户端辅助功能,客户端主要作为展示所用,具体分布如图1-2所示。图1-2系统边界模块1.2系统界面设计(1)本天气播报系统是运行在手机客户端的软件,继承手机软件的统一界面风格,力求简洁、方便、良好的用户体验。窗口布局需要简洁整齐而不追求华丽。同时,适当增加一些动画效果,吸引用户眼球,增强用户体验感,除此之外,界面设计上还应避免使用鲜艳、明亮的颜色(当然需要特殊提示的地方除外),以免引起用户的视觉疲劳,降低用户对软件的评价。(2)界面上的控件外观一致使用符合手机软件的风格,主界面采用了TabHost以Tab菜单方式进行布局,通过切换底部菜单进行界面的切换,简洁方便实用。除此之外,一些需要有特效的界面(如城市管理、天气动画、实景天气界面等)还必须通过自定义View(即重写安卓提供的视图控件View,ViewGroup等)进行实现。这样才能达到增强用户体验的效果。(3)由于此天气播报系统是运行在安卓手机设备上的,因此界面上的所有模块都应支持屏幕触摸和键盘操作(其实只包含返回键和、Home键)的两种操作方式,因此关键业务主要应支持屏幕触摸操作,这就要求要增强屏幕触摸的用户体验。(4)在软件出错或无网络服务时进行天气信息获取、无打开GPS情况下进行定位等,需要有明确的信息以对话框形式提示给用户,让用户明确提示信息,并做下一步操作。1.3系统功能模块设计1.3.1天气详情模块设计图1-3天气详情功能模块图1、城市管理子模块本模块主要是进行城市管理的设计,涉及到的功能有城市的选择添加(包括手动输入选择城市和GPS自动定位城市)、城市的删除。其中手动选择城市时,输入一个城市的关键字后会到城市数据库进行自动模糊匹配,而后显示出匹配成功的城市,用户可以自行在Spinner下拉控件中选择备选的城市,便利的操作无疑会增强用户的体验。GPS自动定位城市则是基于百度地图附带的GPS定位服务来实现,当选择了自动定位后,程序将会开启定位服务进行定位,定位成功后返回json数据给用户主界面,程序解析完」son后获取当前城市,并通过网络以Http形式请求该城市今日的天气详情,同样以Json的数据格式形式返回给用户,用户通过解析json得到所需求的气候信息并适配到安卓客户端界面上。2、天气动画子模块天气动画模块,该软件内置了多款动画天气,使得天气的展现形式更绚丽,更逼真。这些天气动画效果主要采用了安卓控件SurfaceView来进行绘制,可进行速度和方向等的控制,动画类型又分为白天多云、晚上晴、晚上多云、白天阴天、晚上阴天、白天雾、夜晚雨、夜晚雪、白天雪、夜晚星空等等。其实,本系统的性能瓶颈点就是在天气动画这个模块上,由于天气动画需要使用较多的Bitmap,而安卓系统是运行在移动设备上的,本身的资源是很非常有限的,如果使用过多的Bitmap可能会导致内存泄露而出现安卓中常见的OOM(OutOflVIemory)异常,这将使得程序异常的不稳定,直接地后果就是破坏了天气播报系统的健壮性。可以采用以下方式开进行:(1)采用软引用方式,缓存图像到内存中,垃圾回收器有这样一个逻辑判断:如果一个对象采用了软引用,垃圾回收器只有在内存空间吃紧时,才会判定回收这类对象占用的内存,相对的,如果空间充足,则判定为不回收,这时该对象便能为程序所用。(2)对图像的大小进行调整,依据手机屏幕的尺寸自动选择合适的图像大小。(3)堆内存分配应可以根据实际情况进行调整,并且对Dalvik虚拟机的堆内存分配进行适当的优化。(4)当引用了较多Bitmap对象,这些对象又没有同屏全部的显示必要时,应该将暂时不需要的Bitmap对象予以回收,从而达到释放尽量多内存的目的。(5)还有一点就是可以在图像的编码方式上作文章,如Bitmap.Config.ARGB_444比Bitmap.Config.ARGB_8888相对其他编码方式而言较为节约内存,因此在条件允许的情况下应该尽量采用如上编码方式。3、天气详情显示子模块此模块主要是显示具体的天气信息,全新UI布局,左右滑动,查看多城市实况天气,包括当前天气信息的显示和未来四天天气信息的显示,其中当前天气信息的显示又包括天气描述、温度情况(最高气温和最低气温)、今日日期、当前实时温度、风速描述等,未来四天天气情况则包括气温描述和天气描述,点击后又可以获取到当天的每日指数信息。可通过左右滑动进行切换已存在的城市的天气信息。1.3.2天气趋势图功能模块设计图1-4天气趋势功能模块图多达6日的气象趋势曲线分析功能,使用户能够直观的看到未来天气的变化情况。二、系统运行环境客户端:操作系统:MicrosoftWindow系列;开发工具:Eclipse,AndroidSDK及Android智能机(Android2.2及以上);数据库开发环境:SQLite3.3.7;服务器:操作系统:MicrosoftWindow系列;开发工具:MyEcIipse,Wamp2.2;数据库开发环境:MySql5.5.20及以上版本;总结:Android操作系统为Google公司推出的移动终端操作系统,具备良好的性能,以后必将引领移动终端潮流。本文完成位置与天气服务应用程序是在移动终端上基于android实现的,本系统主要面向的是Android手机用户,通过对前期进行需求分析,并进行设计和实现,开发出了一套较为美观实用的天气播报软件系统。系统的各方面实现基本上符合前期预期的要求,需求中提到的基本功能基本都实现,并且完成了对各个功能模块的测试,且测试与预期所得到的结果基本符合,己经可以将本软件交付用户使用。参考文献[1]陆璐,朱纹玉.基于Android平台的手机天气预报系统的实现[J].科技经济导刊,2018,v.26;No.645(19):19-20.[2]胡丽川.对流天气预报系统的设计与实现[J].电脑知识与技术,2016,12(5):63-65.[3]孙启振,丁卓铭,沈辉,etal.我国极地数值天气预报系统的初步建立与应用[J].海洋预报,2017(4).[4]李曼,杜娟,辛渝,etal.2016年乌鲁木齐区域数值天气预报系统预报性能客观检验[J].沙漠与绿洲气象,2017(4).[5]赖安伟,王明欢,陈晓霞,etal.基于SMS的华中区域中尺度数值天气预报系统设计和实现[J].气象科技,2017(1).[6]剡文林,闫涵,杨永强.适合云南地区风功率预测的数值天气预报系统研究[J].水利水电技术,2018(6).[7]熊传玉,徐尤华.Android系统下基于JSON的天气预报应用的实现[J].微型电脑应用,2016,32(1):8-10.[8]李路路.一种天气预报的显示方法及系统:.[9]白明彪.宁夏天气预报预警系统客户端设计与初步实现[D].[10]陈云飞.内蒙古通辽市乡镇天气预报和检验系统研发[J].畜牧与饲料科学,2016,37(6)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论