基于Android平台的天气预报软件设计.doc
《基于Android平台的天气预报软件设计.doc》由会员分享,可在线阅读,更多相关《基于Android平台的天气预报软件设计.doc(34页珍藏版)》请在咨信网上搜索。
1、教学单位学生学号本科毕业论文(设计)题目基于Android平台的天气预报软件设计 学生姓名lion专业名称指导教师2013年5月20日II基于Android平台的天气预报软件设计摘要:Google于2008年推出了一款名为Android的开源智能手机操作系统,它采用Linux内核,开放手机联盟(OHA)成员可以任意使用和修改SDK包,系统的开源性使其具有良好的拓展性.Android的最大特点是其开放性体系架构,不仅具有非常好的开发、调试环境,而且还支持各种可扩展的用户体验.因此,对于软件从业人员来说,Android平台具有无限的吸引力。目前Android操作系统已经成为用户最多的智能操作系统.
2、本天气预报软件的设计,为Android终端用户提供一款方便的实时天气预报查询软件,为用户带来良好的用户体验及便利的对天气情况进行掌控。本天气预报软件采用ViewFlipper组件,提供友好的界面滑动切换方式,同时减少系统运行时占用的空间。使用Files方式保存天气信息,Shared Preferences保存用户偏好设置,节约了文件存储的空间.本文就在分析讨论Android手机软件开发技术原理的基础上,利用Android中基本组件和常用设计模式,开发出能为用户提供更好的基于Android平台的手机天气预报软件。关键字:Android;天气预报;智能手机平台Design of weather f
3、orecast software Based on the AndroidAbstract:Google in 2008 launched a product called the Android open source smartphone operating system, which uses the Linux kernel, Open Handset Alliance (OHA) members can be free to use and modify the SDK package, open source, it has good scalability of the syst
4、em. The most important feature of Android is its open architecture, not only has a very good development and debugging environment, but also supports a variety of scalable user experience。 Therefore, for software professionals, the Android platform has unlimited appeal. Android operating system has
5、become the user the most intelligent operating system。The weather software designed for the Android end users to provide a convenient, realtime weather query software, to provide users with a good user experience and convenience of control of the weather conditions. The weather forecast software the
6、 ViewFlipper components, friendly interface sliding switch, while reducing the space occupied when the system is running。 Files saved Weather Information, Shared Preferences to save user preferences settings, save the file storage space。 This article on the basis of analysis and discussion of the An
7、droid mobile phone software development technical principles, using the basic components and common design patterns Android, developers can provide users with better mobile phone weather forecast software based on the Android platform。Keywords:Android;weatherforecast;smart phone platform目 录1系统概述111
8、研究内容112 研究意义113 研究现状和发展趋势12系统分析42.1 研究目标42。2 需求分析42.3 性能分析43程序设计63。1 用户界面设计63。2 程序模块设计94程序开发104.1 文件结构与用途104。2 数据存储134。2。1 Shared Preferences134。2。2 Files144.3 主要功能代码184。3。1 获取天气数据184.3。2 网络检查204。3。3 定时更新时间214.3。4 ViewFlipper手势监听214。3.5 城市管理中城市点击事件234.4 主要界面结构布局代码244。4。1 ViewFlipper框架结构254.4。2 城市管理界
9、面254。4。3 生活指数264。4.4 城市简介275系统测试29总结36参考文献37致谢38291系统概述11 研究内容Android平台手机天气预报软件是基于Android手机平台,运用Java语言,应用http:/www.webxml。com。cn/网站上提供的免费的webService接口获取天气预报信息,深入研究Android平台Activity、Service、Broadcast Receiver、Content Provider这四大组件及Android平台的程序运行机制,开发出针对使用Android平台的手机天气预报系统.12 研究意义Android平台手机天气预报软件的开发
10、可以进一步扩大气象信息的覆盖面,让广大公众能够在第一时间方便快捷地获取最新的气象预报(预警)信息,以便提前预防,把气象灾害造成的损失降到最低.同时也可以强化气象公共服务的职能,完善公共服务体系、改善公共服务手段、增加公共服务产品、提高公共服务质量,更好地发挥了气象事业对经济社会发展的现实性作用.13研究现状和发展趋势据百度数据研究中心2012年Q3手机操作系统及应用分析数据显示,随着智能手机的发展,操作系统越来越受到网民的关注。在刚刚过去的Q3,Android和iOS继续蚕食Symbian的份额,其中Android更是以接近55的关注度进一步巩固其第一的位置.图1 手机操作系统关注度变化趋势图
11、安卓是首款开源代码的操作系统,采用Linux内核,开放手机联盟(OHA)成员可以任意使用和修改安卓的SDK软件包。系统的开源性使其具有良好的拓展性,一方面,为众多移动应用开发者提供了良好的系统性平台,有利于移动应用的集合;另一方面,终端厂商可以针对自身的特殊需要“定制化开发”。与此相比,尽管2010年2月,塞班基本完成开源工作,但由于代码臃肿,用户界面设计缺失,塞班的开源并无实际意义,错失发展良机。Android操作系统给予了用户跟高的自由度熟悉Android的都清楚用户可以根据自己的喜好来设置手机界面,Android的应用市场甚至上还有各式各样的启动器来供用户自己选择,让自己的手机与众不同。
12、例如用户要是喜欢HTC的操作界面便马上可以在应用市场上找到,甚至还能模仿IOS的界面。相比于IOS操作系统,Iphone手机只有一成不变的手机界面,不能对其进行更改。我们认为,安卓在全球市场的成长壮大,塞班市场份额不断下跌已成不争事实。安卓操作系统发展迅猛主要得益于免费、开源和良好产业运作策略,这三点为安卓在智能手机市场赢得更多的发展机遇。系统的免费让更多的厂商加入,推动了份额的上升;代码的开源让更多的开发者进入应用开发;应用的丰富吸引了更多用户选择,这也是谷歌值得众多厂商学习的地方。此外,谷歌通过OHA联合众多厂商进行系统研发,不断更新版本,目前以推出十多个Android版本,将系统应用推广
13、到更多的终端产品中,确保用户体验持续改善。2系统分析2。1 研究目标(1) 了解Android应用程序的设计和开发过程;(2) 使用多种组件进行Android 平台手机天气预报软件的开发。本软件是基于Eclipse的开发环境,依托webService服务气象数据建立气象信息,开发出了针对Android平台的手机天气预报系统.2。2 需求分析本程序主界面采用ViewFlipper视图,实现Android界面滑动效果,主界面分为四个一面,第一页显示用户选定的首要城市的当天天气详细情况,以及未来三天天气的概况,并提供手动更新天气的按钮;第二页是城市设置页面,用户可以在设定最多9个城市作为用户关注的城
14、市,并提供当天天气概览,用户可以在这里设定选择已经关注的城市作为首要关注城市;第三页是用户选定的首要城市天气情况的各种生活指数,包括晾晒指数、旅游指数、路况指数、舒适度指数、空气污染指数、紫外线指数,用户可以根据各种生活指数安排自己日常生活;第四页用一个可以上下滑动的ScrollView(卷轴视图)显示用户选定的首要城市的城市简介.系统提供定时更新功能,根据用户选择可以设置每天天气自动更新的起始时间及更新时间间隔。2.3 性能分析Android是一个多任务操作系统,最近运行过的程序都常驻后台,而在内存管理上则由系统选择性的自动杀掉占用内存的近期非活跃进程,而不是关闭程序,当程序再次显示时速度更
15、快。程序采用ViewFlipper实现多个页面的滑动切换,四个视图页面封装在一个view中,不显示的页面有ViewFlipper封装的资源收缩方法保留最基本的数据,节约内存,滑动时只需要还原子view即可,与Activity的切换相比既节约资源,又加快了界面切换的速度。因为Activity的切换涉及到Activity的创建与销毁。3程序设计3.1 用户界面设计根据需求分析可以知道,应用程序应包含四个主要的用户界面,以及几个辅助页面,这里需要进一步分析每个用户界面中应该包括哪些显示内容.在城市天气页面,如图3,分为上中下三个部分,上面部分显示用户设定的首要城市的城市名、当日温度区间、天气情况、风
16、力大小、湿度、紫外线强度,实时温度及实时天气的图标。中间是三个自定义View,显示未来三天的天气情况,每个View中都包括日期、星期、天气图标、最高温度、最低温度。底部显示了当前天气的更新时间,及手动更新天气的按钮。图2 城市天气添加城市页面,如图4,由一个GridView构成,GridView中有9个相同的view作为GridView的item,供用户选择关注的城市。每个item中显示所选城市的天气概览,包括编号、城市名称、天气图标、天气状况、温度及更新时间。图3 选择城市生活指数页面,如图5,生活指数页面,通过下拉列表选择不同的生活指数种类,显示各种生活指数,包括:晾晒指数、旅游指数、路况
17、指数、舒适度指数、空气污染指数、紫外线指数。图4 生活指数城市介绍页面,如图6,ScrollView(卷轴视图)显示用户选定的首要城市的城市简介。图5 城市简介3.2 程序模块设计从功能需求上分析可以看出,整个应用程序应划分为3个模块,分别是用户界面模块、后台控制模块和基础功能模块.后台控制模块更具用户界面的需求调用基础功能模块的各项功能得到用户界面需要的数据并返回到用户界面。基础工具模块提供天气查询、网络状况检查、定时器功能 、自定义风格dialog、数据存取、数据处理6个功能模块;后台控制模块分为城市管理、dialog调用两个部分;用户界面模块包括,城市天气、城市管理、生活指数、城市简介、
18、添加城市、定时设置、操作提示几个部分组成。图6 用户界面图7 基础工程模块4程序开发4。1 文件结构与用途在程序开发阶段,确定“基于Android平台手机天气预报软件”的工程名为Weather,据程序模块设计的内容,建立Weather工程。Weather工程源代码的结构如图9所示。图8 项目结构以下对项目Weather下各资源包进行介绍.src文件夹中包含项目大部分的代码;gen是Android项目自动生成的文件夹,其中由系统自动生成的R。java为系统中每一个资源分配了一个资源编号,包括图片、string文件中定义的字符串以及layout中的布局文件和anim中的样式文件,都会在R。java
19、中自动生成一个ID,方便在其他地方调用.Android 2。2及Android Dependencies是项目需要的jar包;bin文件夹中保存了项目运行后的可执行文件即apk文件;res下的anim文件夹中自定义界面切换样式,drawable-hdpi、drawable-ldpi、drawablemdpi三个文件夹中分别存放像素高、低、中的图片资源,三个文件夹中可以存放文件名相同的图片,但系统在R。java中只生成一个资源id,调用到这个Id是系统会根据用户手机屏幕像素情况自动选择适应屏幕的图片,layout中定义了界面布局的xml文件,values中存放的是strings.xml字符串定义
20、文件和自定义的样式文件;AndroidManifest.xml中配置了系统的相关参数,以及所有的Activity、service声明。下面对Weather项目的文件用途进行说明:表1 Weather工程的文件用途说明包 名 称文 件 名说 明edu.qin.menuAboutActivity。java菜单中“关于选项对应的Activity。edu。qin。menuMenuActivity。java定义菜单edu。qin.serviceCityService。java创建城市添加到城市列表中服务edu。qin。serviceDialogService.java创建程序中弹出的Dialog服务ed
21、u.qin。servicePreferencesService。java用户偏好设置服务edu。qin.serviceQueryWeatherService.java查询天气服务edu.qin。utilsNetworkCheck.java网络检查edu.qin。utilsStreamTool.java字节处理edu。qin.utilsTokenizerTool.java字符串处理edu.qin。wfAddCityDialog。java添加城市的activityedu。qin.wfLoginActivity。java欢迎界面edu。qin.wfSettingDialog。java定时设置界面ed
22、u。qin。wfWeatherActivity。java天气预报界面表2 自定义View及Adapter包 名 称文 件 名说 明edu。qin。useAutoCompleteTvAdapter。java自定义adapter用于自动适配下拉输入框edu。qin。usecityAdapter.java自定义城市列表adapteredu。qin。useCityWeatherOverview。java西定义view,用于显示城市天气edu.qin。useMyDialog。java自定义dialogedu.qin。useMYGestureListener。java自定义滑动监听edu。qin.useM
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Android 平台 天气预报 软件设计
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。