欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于Android天气预报软件的设计与实现.doc

    • 资源ID:1949897       资源大小:2.61MB        全文页数:58页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于Android天气预报软件的设计与实现.doc

    1、基于Android的天气预报软件的设计与实现摘要本课题研究基于Android平台上的天气预报软件,该工具可以为用户提供最新的天气预报信息,以便用户及时了解最新的天气状况。本论文对基于Android平台的天气预报软件的开发技术进行了分析和研究。先简要介绍了Android开发必备基础知识,再切入软件的具体实现过程。软件的实现是利用网络接口和中国天气网获取网络XML文件,然后通JSON解析取得城市天气信息。本论文首先介绍系统的开发背景和意义,接着详细介绍系统设计以及实现的过程,最后介绍了系统测试和本软件的测试用例以及总结了本次毕业设计整个过程。关键词:Android;天气预报;Web Service

    2、Design and implementation of weather forecast based on androidABSTRACT This topic research based on weather forecast software on the Android platform which can provides users with the latest weather forecast information,so that users can understand the latest weather conditions in a timely manner. I

    3、n this paper, the weather forecast software development technology based on the Android platform is analyzed and studied. It first briefly introduces the Android development essential basic knowledge,then cut into the software implementation process.The realization of the software is the use of the

    4、network interface and Chinese weather net access network XML file,and then pass the XML document parsed by JSON to get city weather information. This paper firstly introduces the development of the system background and significance,then introduces system design and implementation process,finally in

    5、troduces the system testing and the software test cases and summarizes the whole process of the graduation design. Keywords: Android; Weather Forecast;Web Service目 录摘要iABSTRACTii1 绪论11.1 课题研究背景和研究意义11.2 当前研究现状11.3 课题的研究内容11.4 论文框架安排22 开发语言说明32.1 开发语言简介32.1.1 Android简介32.1.2 Android 系统特性32.1.3 Androi

    6、d基本框架(Android Architecture)32.1.4 Android系统的四大组件52.1.5 SQLite简介62.2 搭建Android开发环境62.3 了解JASON的相关知识92.4 Handler、Intent和监听器123 概要设计153.1 概述153.1.1 系统分析的原则153.1.2 系统分析的方法153.2 系统可行性分析153.3 系统需求分析163.4 性能需求分析173.4.1 实用性原则173.4.2 可扩展性与可维护性原则173.4.3 安全可靠性原则173.4.4 用户界面美观原则173.4.5 准确性原则173.4.6 易用性原则173.5 系

    7、统流程分析173.6 项目模块划分184 详细设计194.1 设计目标194.2 总体结构设计194.3 文件结构设计194.4 各模块设计214.4.1 主界面模块设计214.4.2 更换城市界面模块设计234.4.3 网络接口模块设计254.4.4 自动定位模块设计254.5 数据库设计265 系统实现与测试295.1 系统实现295.1.1 天气主界面实现295.1.2 更改城市模块实现305.2 系统测试315.2.1 软件测试315.2.2 测试用例315.2.3 测试总结366 总结37参考文献38致 谢39外文文献原文40外文文献译文48iv1 绪论1.1 课题研究背景和研究意义

    8、 随着科技的发展,Android在中国的前景十分广阔。国内厂商和许多大运营商也纷纷加入了Android的阵营,不断的推出了Android系统的产品。 Android是一种以Linux为基础的开放源码操作系统,主要使用于便携设备。Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由Google收购注资并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。2012年第三季度,安卓的市场份额高达74.8%,一年前则为57.4%。2013年第一季度,它的市场份额继续增加,达到75%。

    9、Android平台的天气预报软件的开发可以进一步扩大天气信息的覆盖面,以便提前预防,使得广大公众能够在第一时间方便且快捷地获取最新的天气预报信息。同时也可以完善公共服务体系,提高公共服务质量,更好地发挥气象事业对经济社会发展的现实性作用。这款天气预报软件给人们带来方便快捷的全天候天气信息,必将成为人们日常生活中必不可少的一部分。本系统界面明了,操作简单,适合所有年龄段的使用。对于人们生活水平的提高有一定的促进作用。1.2 当前研究现状Android 是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序移动电话工作所需的全部软件。作为谷歌企业战略的重要组成

    10、部分,Android 将进一步推进“随时随地为每个人提供信息”这一企业目标的实现。国内外的基于Android的天气预报软件相当多,这些软件都具有的最基本的功能,当然就是提供当前天气状况,包括实时温度,当天最高温和最低温,风向风速以及未来若干天的天气概况,数据来源都是各个国家或地区的气象局或天气开放平台。而现在大多数天气预报软件都具有强大且丰富的附加功能,且界面美观人性化。在国内做的比较好的天气软件当属墨迹天气。这款软件功能相当丰富,可以添加多个城市并通过左右滑动切换城市;提供所选城市的实时天气情况,包括当前天气状况,实时温度,当天最高温和最低温,湿度值,PM2.5值,风向风速;可以查看未来一周

    11、的温度趋势图;可以查看生活贴士,包括穿衣指数,运动指数,洗车指数等;城市实景天气,每个软件用户都可以查看其他用户上传的其所在地的图片;另外,其界面非常美观且人性化,比如软件的背景图片就是动态天气壁纸,可以随着天气的变化而变化。Android的一大特色就是支持各种桌面插件,而墨迹天气充分利用了这一点,提供了非常丰富的桌面天气插件,显示的信息也可由用户设置。总之,目前墨迹天气是国内做的非常出色的一款天气软件。1.3 课题的研究内容本课题要在Android平台上借助网络接口完成天气预报软件的设计与实现,本软件具有城市选择、查询结果显示等功能。本课题所用到的开发工具为Google为Android开发者

    12、提供的开发工具包ADT(Android developer tools),包括eclipse和SDK,并用Java语言完成。本课题遵循了软件工程面向对象的基本原理,利用原型模型,将需求分析、设计、实现和测试过程进行反复迭代,完成了界面、逻辑功能和数据库的设计与实现,最终得到了符合设计要求的软件。本系统研究的是Android平台天气预报软件的实现过程,通过移动网络的支持以及Android平台提供的网络服务支持,通过HTTP的方式获取来自中国天气网最新的天气预报数据,中国天气网免费为用户提供天气预报接口,开发者可以获取国内各个城市的实时天气情况,获取地址为:1.4 论文框架安排本文详细介绍了基于A

    13、ndroid平台的天气预报软件的设计实现全过程。从开始到程序设计的实现,将在以下的几章中予以介绍:第1章 绪论,这一章主要讲述了课题研究的背景、意义、内容和当前研究现状以及论文框架的安排。 第2章 开发语言简介,对涉及到的理论知识和使用到的开发工具做相关介绍。第3章 概要设计,主要分析了本软件开发的可行性和需求分析等。第4章 详细设计,主要介绍了本软件各模块的实现过程以及数据库的设计。第5章 系统实现与测试,主要介绍了本软件的实现结果和各模块的测试用例以及测试总结。第6章 总结,总结近三个多月做毕业设计过程中的心得和体会。2 开发语言说明2.1 开发语言简介2.1.1 Android简介And

    14、roid本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良 Android系统。随后Google以Apache开源许可证的授权方式,发

    15、布了Android的源代码。第一部Android智能手机发布于2008 年10月。2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。Android采用了软件堆层的架构,低层以Linux内核工作为基础,只提供基本功能,其他的应用软件则由各公司自行开发。目前最新SDK版本为Android 4.4.2。2.1.2 Android 系统特性 Android系统有如下的几大特性:(1)应用程序框架,支持组件的重用与替换;(2)Dalvik虚拟机,专门为移动设备

    16、做了优化;(3)内部集成浏览器,该浏览器基于开源的WebKit引擎;(4)优化的图形库,包括2D和3D图形库;(5)SQLite,用作结构化的数据存储;(6)多媒体支持,包括常见的音频、视频和静态印象文件格式;(7)丰富的开发环境,包括设备模拟器,调试工具,内存及性能分析图表和Eclipse集成开发环境插件。2.1.3 Android基本框架(Android Architecture)Android平台的基本框架如图2-1所示:图2-1 Android基本框架图(1)应用程序层 Android会同一个核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器

    17、,联系人管理程序等。所有的应用程序都是用JAVA编写的。(2)应用程序框架层开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。隐藏在每个应用后面的是一系列的服务和系统, 其中包括;丰富而又可扩展的视图,可以用来构建应用程序, 它包括列表,网格,文本框,按钮,甚至可嵌入的web浏览器。a. 内容提供器使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据。b.

    18、 资源管理器提供非代码资源的访问,如本地字符串,图形,和布局文件。 c. 通知管理器使得应用程序可以在状态栏中显示自定义的提示信息。d. 活动管理器用来管理应用程序生命周期并提供常用的导航回退功能。(3)Libraries库层 Android 包含一些C/C+库,这些库能被Android系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务。以下是一些核心库:a.系统C库:一个从BSD继承来的标准C系统函数库Libc,它是专门为基于Embedded linux的设备定制的。b.媒体库:基于PacketVideo OpenCORE;该库支持多种常用的音频、视频格式回放和录制

    19、,同时支持静态图像文件。c.Surface Manager:对显示子系统的管理,并且为多个应用程序提供了2D和3D图层的无缝融合。d.LibWebCore:一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。(4)系统结构 Android 是运行于Linux kernel之上,Android 的 Linux kernel控制包括安全,存储器管理,程序管理,网络堆栈,驱动程序模型等。APK是安卓应用的后缀,是AndroidPackage的缩写,即Android安装包(apk)。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。2.1.4

    20、Android系统的四大组件在Android系统中,为我们提供了四大基本组件,每个组件是一个视图,但是有些是可见的,有些是不可见的视图,像Activity,ContentProvider是可见的视图,Service和BroadcastReceiver是不可见的,它们只在系统的后台运行。下面分别介绍四大组件:(1)Activity简介Android 中,所有程序都运行在Activity 中,是Android 最基本的组成部分之一。在Android程序中,Activity 一般代表手机屏幕的一屏。Activity就相当于浏览器中的一个网页,并且可以添加Button、Check box 等控件。一个

    21、Android 应用是由多个Activity 组成的。这多个Activity 之间可以进行相互跳转,例如,按下一个Button按 钮后,可能会跳转到其他的Activity。和网页跳转稍微有些不一样的是,Activity 之间的跳转有可能返回值,例如,从Activity A 跳转到Activity B,那么当Activity B 运行结束的时候,有可能会给Activity A 一个返回值。 当打开一个新的屏幕时,之前一个屏幕会被置为暂停状态,并且压入历史堆栈中。用户可以通过回退操作返回到以前打开过的屏幕。可以选择性的移除一些没有必要保留的屏幕,因为Android会把每个应用的开始到当前的每个屏幕

    22、保存在堆栈中。(2)Service简介 Service 是android 系统中的一种组件,它跟Activity 的级别差不多,但是他不能自己运行,只能后台运行,并且可以和其他组件进行交互。Service 是没有界面的长生命周期的代码。Service是一种程序,它可以运行很长时间,但是它却没有用户界面。Service 可以在和多场合的应用中使用,比如播放多媒体的时候用户启动了其他Activity这个时候程序要在后台继续播放,比如检测SD 卡上文件的变化,再或者在后台记录地理信息位置的改变等。开启Service有两种方式:a. Context.startService():Service会经历o

    23、nCreate - onStart(如果Service还没有运行,则android先调用onCreate()然后调用onStart();如果Service已经运行,则只调用onStart(),所以一个Service的onStart方法可能会重复调用多次 );StopService的时候直接onDestroy,如果是调用者自己直接退出而没有调用StopService的话,Service会一直在后台运行。该Service的调用者再启动起来后可以通过stopService关闭Service。 b. Context.bindService():Service会经历onCreate()-onBind()

    24、,onBind将返回给客户端一个IBind接口实例,IBind允许客户端回调服务的方法,比如得到Service运行的状态或其他操作。这个时候把调用者(Context,例如Activity)会和Service绑定在一起,Context退出了,Srevice就会调用onUnbind - onDestroyed相应退出,所谓绑定在一起就共存亡了。(3)Broadcast Receiver简介在Android 中,Broadcast是 一种广泛运用的在应用程序之间传输信息的机制。而BroadcastReceiver 是对发送出来的Broadcast进行过滤接受并响应的一类组件。可以使用Broadcas

    25、tReceiver 来让应用对一个外部的事件做出响应。BroadcastReceiver不能生成UI,也就是说对于用户来说不是透明的,用户是看不到的。BroadcastReceiver通过 NotificationManager 来通知用户这些事情发生了。BroadcastReceiver 既可以在AndroidManifest.xml 中注册,也可以在运行时的代码中使用Context.registerReceiver()进行注册。只要是注册了,当事件来临的时候,即使程序没有启动,系统也在需要的时候启动程序。各种应用还可以通过使用Context.sendBroadcast () 将它们自己的I

    26、ntent Broadcasts广播给其他应用程序。(4)ContentProvider简介Content Provider 是Android提供的第三方应用数据的访问方案。在Android中,对数据的保护是很严密的,除了放在SD卡中的数据,一个应用所持有的数据库、文件等内容,都是不允许其他直接访问的。Andorid当然不会真的把每个应用都做成一座孤岛,它为所有应用都准备了一扇窗,这就是Content Provider。应用想对外提供的数据,可以通过派生Content Provider类, 封装成一枚Content Provider,每个Content Provider都用一个uri作为独立的

    27、标识,形如:content:/com.xxxxx。所有东西看着像REST的样子,但实际上,它比REST 更为灵活。和REST类似,uri也可以有两种类型,一种是带id的,另一种是列表的,但实现者不需要按照这个模式来做,给id的uri也可以返回列表类型的数据,只要调用者明白,就无妨,不用苛求所谓的REST。2.1.5 SQLite简介SQLite是一款嵌入式的轻型数据库,它只占用很少的资源,有时只需几百K。它支持Windows/Linux/Unix等操作系统,它能跟Java、C#等程序设计语言相结合,还有ODBC接口。它处理数据的速度比Mysql、PostgreSQL等数据库都快。Android

    28、作为目前主流的移动操作系统,完全符合SQLite占用资源少的优势,故在Android平台上,集成了一个嵌入式关系型数据库SQLite。本数据库支持功能如下:1.自动建表,支持属性来自继承类:可根据注解自动完成建表,并且对于继承类中的注解字段也支持自动建表。2.自动支持增删改,增改支持对象化操作:增删改是数据库操作的最基本单元,不用重复写这些增删改的代码,并且添加和更新支持类似于hibernate中的对象化操作。 3.查询方式灵活:支持android框架提供的方式,也支持原生sql方式。4.查询结果对象化:对于查询结果可自动包装为实体对象,类似于hibernate框架。5.查询结果灵活:查询结果

    29、支持对象化,也支持结果为ListMap形式,这个方法在实际项目中很实用,且效率更好些。2.2 搭建Android开发环境任何事物要运行,都要有它的环境,Android也有它的环境才能够运行,下面介绍Android的开发环境配置。搭建开发环境需要的环境:(1)操作系统:windows 7;(2)下载jdk: FilesJavajdk1.7.0_0.7和C:Program FilesJavajre7,如图2-2所示: 图2-2 jdk安装目录(3)下载androidSDK工具包 adt-bundle-windows-x86, Manager,sdk下载如图2-3所示: 图2-3 sdk下载(4)配置环境变量,桌面-计算机-右键属性-高级系统设置-高级-环境变量变量名:JAVA_HOME变量值:C:Program FilesJavajdk1.7.0_0.7;具体如图2-4所示: 图2-4 配置JAVA_HOME变量名:PATH变量值:.;%JAVA_HOME%bin;F:adt-bundle-windows-x86sdktools;F:adt-bundle-windows-x86sdkplatform-tools;具体如图2-5所示


    注意事项

    本文(基于Android天气预报软件的设计与实现.doc)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开