Android平台天气预报widget的设计与实现本科毕业设计论文.docx
- 文档编号:23603033
- 上传时间:2023-05-18
- 格式:DOCX
- 页数:58
- 大小:871.41KB
Android平台天气预报widget的设计与实现本科毕业设计论文.docx
《Android平台天气预报widget的设计与实现本科毕业设计论文.docx》由会员分享,可在线阅读,更多相关《Android平台天气预报widget的设计与实现本科毕业设计论文.docx(58页珍藏版)》请在冰豆网上搜索。
Android平台天气预报widget的设计与实现本科毕业设计论文
毕业论文
Android平台天气预报widget的设计与实现
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
指导教师评阅书
指导教师评价:
一、撰写(设计)过程
1、学生在论文(设计)过程中的治学态度、工作精神
□优□良□中□及格□不及格
2、学生掌握专业知识、技能的扎实程度
□优□良□中□及格□不及格
3、学生综合运用所学知识和专业技能分析和解决问题的能力
□优□良□中□及格□不及格
4、研究方法的科学性;技术线路的可行性;设计方案的合理性
□优□良□中□及格□不及格
5、完成毕业论文(设计)期间的出勤情况
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
指导教师:
(签名)单位:
(盖章)
年月日
评阅教师评阅书
评阅教师评价:
一、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
二、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
评阅教师:
(签名)单位:
(盖章)
年月日
教研室(或答辩小组)及教学系意见
教研室(或答辩小组)评价:
一、答辩过程
1、毕业论文(设计)的基本要点和见解的叙述情况
□优□良□中□及格□不及格
2、对答辩问题的反应、理解、表达情况
□优□良□中□及格□不及格
3、学生答辩过程中的精神状态
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
评定成绩:
□优□良□中□及格□不及格
教研室主任(或答辩小组组长):
(签名)
年月日
教学系意见:
系主任:
(签名)
年月日
Android平台天气预报widget的设计与实现
摘要
本文对基于Android平台的widget开发技术进行了分析和研究。
先简要介绍了Android开发必备基础知识,再切入软件的具体实现过程。
软件的实现是利用网络接口和GoogleAPI获取网络xml文件,然后通过xml文件解析取得城市天气预报信息。
最终使用widget制作方法,利用RemoteViews等技术完成桌面部件。
关键词:
Android;桌面小部件;天气预报
thedesignandimplementationofweatherforecastingwidgetonAndroidplatform
ABSTRACT
ThispaperanalysesandresearchesthedevelopmenttechniqueontheAndroidplatform.ItfirstintroducethebasicknowledgethatisnecessaryforAndroiddevelopment.Andthenitintroducetheconcreteimplementationofthesoftware.
ThesoftwareusesnetworkinterfaceandGoogleAPItogetxmldocument.Thenitparsethedocumenttogettheweatherinformationofthecity.FinallyIusetechniquesuchasRemotViewstoimplementthewidget.
Keywords:
Android;widget;weatherforecast
第1章绪论
1.1项目背景
2009年1月7日,工业和信息化部为中国移动、中国电信和中国联通发放3张第三代移动通信牌照,此举标志着我国正式进入3G时代。
中国3G正式商用和规模建网,决定了中国基于Android的应用程序开发将会处于一个蓬勃发展时期
Android是Google于07年11月5日宣布的基于Linux平台开源手机操作系统名称,号称是首个为移动终端打造的真正开放和完整的移动软件。
它包括操作系统、用户界面和应用程序——移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。
谷歌与开放手机联盟合作开发了Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达和T-Mobile在内的30多家技术和无线应用的领军企业组成。
Android有如下多个优势:
1、开放性
2、强大的Google作为传媒平台
3、较为成熟的Linux系统
4、较强的可移植性和强大的操作性
1.2研究现状
widget作为桌面上网的新模式,Widget在2007年已形成较大市场规模,并为广告商及创业公司带来新的商机。
但是为社交网站开发Widget的软件开发人员却表示,Widget的影响力被严重低估。
Android中的Widget是Android1.5以后加入的一个特性,允许程序显示一些常用而又重要的信息在用户的Homescreen(桌面主屏)上。
简单的说就是有两个特点:
一是可以添加到Homescreen上,
二是按照一定的时间进行内容更新
以上两点就是由android系统中的AppWidgetFramework(框架)来支持完成的。
当最基本的控件,如Clock和PictureFrameHomeScreen,随第一款Android手机的发布后,Android用户就开始尝试编写各种应用Widget(小工具)了,随着WidgetAPI的公开,为开发人员带来了全新有趣的开发模式,除了传统的电话应用外,还可以做其它方面的应用开发。
1.3论文组织
本文主要在介绍Androidwidget应用程序开发的要点,以及本人这段时间学习Android开发的体会。
本文在第二章介绍Android开发环境的搭建,在第三章介绍Andoid开发基础知识,第四章介绍天气预报桌面小程序的设计与实现,最后一章介绍在软件设计过程中遇到的难题和相应解决方案。
第2章Android开发环境
2.1Android开发环境搭建流程
Android开发首先需要搭建完整的开发环境,由于软件均是基于DalvikJavaVirtualMachine运行的所以Google官方推荐使用主流的Java开发IDEEclipse。
我们需要下载必要的开发组件。
1)Java运行时库(JRE),由于Eclipse使用Java开发,所以需要它才可以正常运行IDE。
2)Eclipse集成开发环境,官方提供的Android开发插件ADTPlugin是基于Eclipse编写的,当然用户可以使用NetBean、JBuilder当作代码编辑器使用,但目前没有完整的调试集成。
3)EclipseADTPlugin插件是AndroidDevelopToolKit的插件,用户需要安装它才能在Eclipse中建立和调试Android程序。
4)AndroidSDK,它包含了完整的Android模拟器、Android开发文档和调试工具,Google官方也会定时更新
2.1.1安装EclipseADTPlugin插件
首先我们将下载的JRE安装。
运行Eclipse开发环境。
安装EclipseADTPlugin,选择【Help】>【SoftUpdates】>【FindandInstall…】
选择“AvailableSoftware”标签页,点击【AddSite…】按键。
添加update站点:
https:
//dl-
这时窗口中新增了“https:
//dl-
2.1.2安装AndroidSDK
将安装的AndroidSDK包解压,运行Eclipse。
选择【Window】>【Preferences】,选择Android,如下图
点Browse按钮选择SDK解压后的路径。
为了在DOS控制台中直接使用SDK的工具,可以将SDK的目录添加到Windows的path环境变量中:
在桌面上右击“我的电脑”,依次点击【属性】>【高级】>【环境变量】。
双击【系统变量】里面的Path项,将AndroidSDK中tools目录的完整路径添加到这里。
2.1.3更新AdroidSDK
AndroidSDK的升级如此之快让人有点招架不住,为了使用SDK的新特性,有必要将其升级
第一步:
打开Eclipse工具,在工具栏里找到
这个按钮,如果你没有找到也不要着急,你在菜单栏【Window】>【AndroidSDKandAVDManager】里也能找到这个按钮,点击之弹出如下对话框:
第二步:
选择AvailabePackage这一标签,然后将出现如下对话框(记得要勾选那个复选框):
然后选择InstalledPackages,点击UpdateALL按钮即可升级。
2.1.4配置Android模拟器
(1)首先打开"AndroidSDKandAVDManager",如图所示。
(2)点击左边的"VirtualDevices"选项,在点击右边的"New..."按钮,来新建一个AVD。
(3)在"name"标签处填写AVD的名字,"Target"标签处选择api等级,在"size"标签处填写要创建的SD卡的大小,在"skin"标签中设置模拟器的风格,
(4)到这里,还需要配置模拟器运行的AVD,操作步骤:
点击"Run",选择"OpenRunDialog"菜单命令,打开对话框,如图2-33所示。
(5)双击"Run"对话框左边的导航器中的"AndroidApplication"菜单命令,创建一个Android项目运行配置。
在右边的"Name"文本框中输入Android项目运行配置的名字,在"Android"选项卡中的"Project"文本框中输入要运行的Android项目,同样可以点击右边的"Browse..."按钮来选择Android项目。
2.2开发工具Eclipse介绍
Eclipse是一种可扩展的开放源代码IDE。
2001年11月,IBM公司捐出价值4,000万美元的源代码组建了Eclipse联盟,并由该联盟负责这种工具的后续开发。
集成开发环境(IDE)经常将其应用范围限定在“开发、构建和调试”的周期之中。
为了帮助集成开发环境(IDE)克服目前的局限性,业界厂商合作创建了Eclipse平台。
Eclipse允许在同一IDE中集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改变了项目工作流程,使开发者可以专注在实际的嵌入式目标上。
Eclipse框架的这种灵活性来源于其扩展点。
它们是在XML中定义的已知接口,并充当插件的耦合点。
扩展点的范围包括从用在常规表述过滤器中的简单字符串,到一个Java类的描述。
任何Eclipse插件定义的扩展点都能够被其它插件使用,反之,任何Eclipse插件也可以遵从其它插件定义的扩展点。
除了解由扩展点定义的接口外,插件不知道它们通过扩展点提供的服务将如何被使用。
利用Eclipse,我们可以将高级设计(也许是采用UML)与低级开发工具(如应用调试器等)结合在一起。
如果这些互相补充的独立工具采用Eclipse扩展点彼此连接,那么当我们用调试器逐一检查应用时,UML对话框可以突出显示我们正在关注的器件。
事实上,由于Eclipse并不了解开发语言,所以无论Java语言调试器、C/C++调试器还是汇编调试器
都是有效的,并可以在相同的框架内同时瞄准不同的进程或节点。
Eclipse的最大特点是它能接受由Java开发者自己编写的开放源代码插件,这类似于微软公司的VisualStudio和Sun微系统公司的NetBeans平台。
Eclipse为工具开发商提供了更好的灵活性,使他们能更好地控制自己的软件技术。
eclipse是一款非常受欢迎的java开发工具,使国内的用户越来越多,实际上使用它的java开发人员是最多的。
缺点就是较复杂,对初学者来说,理解起来比较困难。
第3章Android程序设计基础
3.1系统结构
Android作为一个移动设备开发平台,其软件层次结构包括了一个操作系统,中间件和应用程序。
其框架如下图所示
其软件层析结构自上而下可以分为以下几个层次:
1.应用程序(Application);
2.应用程序框架(ApplicationFramework);
3.各种库(Libraries)和Android运行环境(RuntTime);
4.操作系统层(OS)。
3.1.1应用程序
Android的应用程序通常涉及用户界面和用户交互,这类程序是用户实实在在感受到的。
Android的应用程序目前以Java语言编写。
Android本身提供桌面,联系人,电话和浏览器等核心应用。
同时应用程序开发者可以根据应用程序框架层的API实现自己的程序,这也是Android开源的巨大潜力体现。
Android这种开放而强大的平台给每一个程序开发者提供了公平的机会,每一个开发者都可以加入移动互联的世界,共同推动移动互联的发展。
3.1.2应用程序框架
普通的开发者可以使用Android核心应用程序的系统API。
Android的应用开发框架涉及的非常巧妙,通过这套应用框架,各种组件可以被用户的应用重复利用,各种服务也可以被各种应用重复应用。
开发人员应该很好地理解这套框架的工作机制,这样才能开发出更好的应用程序。
下面列举应用框架的主要部分:
1.一组Views。
这些UI组件包括列表、文本框、按钮等。
通过这些UI组件,可以构建应用程序的试图部分,这部分也就是用户能看到的部分。
2.ContentProviders。
主要是提供一种机制,通过这种机制,各个应用程序之间可以实现数据的互访和共享。
3.ResourceManager。
它负责管理非代码的访问。
如本地图片资源,设计布局的XML文件等的访问。
4.NotificationManager。
它能让程序的将自己的警示信息显示在状态栏上。
例如,当有短信的时候,可以在状态栏上显示新短信的信息。
5.ActivityManager。
它管理应用的生命周期,并且提供应用页面退出的机制。
在Android应用中,一个应用一般都是多个页面组成,而每个页面的单位就是Activity。
3.1.3库和运行环境
Android包括一些C/C++库,这些库能被Android系统的不同组件使用。
他们通过Android应用程序框架为开发者提供服务。
3.2Android应用程序组成
要进行应用开发,还需要对Android应用构造进行深入的分析。
Android应用程序由以下4个模块构造而成:
Activity
BroadcastIntentReceiver
Service
ContentProvider
当然,也不是每个Android应用程序都必须由这4部分组成,它可以根据开发者需求来进行组合。
在这里还需要介绍Intent的概念和使用方法,他在应用程序的运行中连接两个不同的组件,通过Intent你的程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来请求。
3.2.1Avtivity介绍
Activity是最基本的模块。
我们称之为"活动",在应用程序中,一个活动(Activity)通常就是一个单独的屏幕。
每一个活动都被实现为一个独立的类,并且从活动基类中继承而来,活动类将会显示由视图控件组成的用户接口,并对事件作出响应。
大多数的应用都是由多个Activity显示组成,例如,对一个文本信息应用而言,第一个屏幕用来显示发送消息的联系人列表,第二个屏幕用来写文本消息和选择收件人,第三个屏幕查看消息历史或者消息设置操作等。
这里的每一个屏幕就是一个活动,很容易实现从一个屏幕到一个新的屏幕,并且完成新的活动。
当一个新的屏幕打开后,前一个屏幕将会暂停,并保存在历史栈中。
用户可以返回到历史栈中的前一个屏幕,当屏幕不再使用时,还可以从历史栈中删除。
简单理解,Activity代表一个用户所能看到的屏幕,主要用于处理应用程序的整体性工作,例如,监听系统事件(按键事件、触摸屏事件等),为用户显示指定的View,启动其他Activity等。
所有应用的Activity都继承于android.app.Activity类,该类是Android提供的基层类,其他的Activity继承该父类后,通过父类的方法来实现各种功能,这种设计在其他领域也较为常见。
3.2.2BroadcastIntentReceiver介绍
可以使用BroadcastReceiver来让应用对一个外部的时间作出相应。
例如,当电话呼入这个外部时间到来的时候,可以利用BroadcastReceiver进行处理。
BroadcastReceiver不能生成UI,也就是说对用户是不透明的,用户是看不到的。
BroadcastReceiver通过NotificationManager来通知用户这些事情发生了。
BroadcastReceiver既可以在AndroiManifest.xml中注册,也可以在运行时的代码使用Context.registerReceiver()进行注册。
只要是注册了,当时间来临的时候,即使程序没有启动,系统也在需要的时候启动程序。
各种应用程序还可以通过Context.sendBroadcast()将他们自己的intentbroadcasts广播给其他应用程序。
3.2.3Service介绍
Service即"服务"的意思,既然是服务,那么Service将是一个生命周期长而且没有用户界面的程序。
比如一个正在从播放列表中播放歌曲的媒体播放器,在这个媒体播放器应用中,应该会有多个activity,让使用者可以选择歌曲并播放歌曲。
然而,音乐重放这个功能并没有对应的activity,因为使用者会认为在导航到其他屏幕时音乐应该还在播放。
在这个例子中,媒体播放器这个activity会使用Context.startService()来启动一个service,从而可以在后
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 平台 天气预报 widget 设计 实现 本科 毕业设计 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)