ImageVerifierCode 换一换
格式:DOCX , 页数:45 ,大小:1.77MB ,
资源ID:3939351      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3939351.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(安卓网络天气预报毕业论文.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

安卓网络天气预报毕业论文.docx

1、安卓网络天气预报毕业论文 安卓网络天气预报毕业论文摘要 IAbstract II第1章 引言 11.1 研究背景 11.2 国外的研究状况及发展趋势 11.3 系统分析及其主要容 21.4 论文组织结构 2第2章 系统实现所涉及的技术 32.1 Android系统概述 32.2 Eclipse介绍 32.3 Android系统框架 42.4 Android四大组件 42.5 用户界面 62.6 Fragment 72.7 网络编程之使用HttpClient进行Get方式通信 7第3章 开发环境配置 93.1 Android开发框架 93.2 开发所需软件 123.2.1 Android开发环境

2、配置 133.2.2 Eclipse的设置 14第4章 系统总体分析与模型设计 154.1 系统的总体结构 154.2 功能分析 164.2.1 天气模块功能分析 164.2.2 生活模块功能分析 174.2.3 我模块功能分析 174.3 系统流程图 18第5章 详细设计 205.1 新建工程 205.2 Android UI界面的实现 215.3 登陆注册模块的实现 225.4 界面切换功能实现 235.5 天气模块的实现 235.5.1 天气信息 245.5.2 温度曲线图的画法 255.5.3 下拉刷新 255.6 生活模块的实现 255.7 我模块的实现 265.7.1 城市管理的功

3、能实现 265.7.2 通知提醒功能实现 27第6章 系统测试 286.1 测试目的 286.2 测试环境 296.3 测试结果 30致谢 32参考文献 33附 录 34附录A: 主要源程序 34附录B: 软件使用说明书 45附录C: 光盘 46 第1章 引言许多先进技术迅速地应用于气象业务中,可供天气预报用的实时和非实时资料急增,这就要求利用自动化的高速通信技术和信息处理技术处理这些资料。为适应上述发展,正逐步改进气象通信体制,加速气象通信现代化。现在人们生活水平的提高,对生活质量的要求也越来越高,然而外部自然气候的变化却不容乐观。不管是外出旅行还是农业生产等,气候变化情况一直都引起人们的普

4、遍关注,人们迫切的需要随时随地的掌握准确的天气预报信息。比如,如果有雨,就建议出门带伞;如果温度高于某值就建议防晒等。1.1 研究背景Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。在如今这个智能手机系统群雄纷争的时候,Android采用Linux核,开放手机联盟成员可以任意使用和修改SDK包,系统的开源性使其具有良好的拓展性。不仅具有非常好的开发、调试环境,而且还支持各种可扩展的用户体验,包括丰富的图形组件、多媒体支持功能以及强大的浏览器。因此,对于软件从业人员来说,Android平台具有无

5、限的吸引力。2013年09月24日Android迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。1.2 国外的研究状况及发展趋势近些年来,世界围的气候异常, 使人类面临日益严重的粮食、能源和水资源危机,因此社会对气象工作提出了更为迫切的要求。与此同时,遥感技术,电子计算机等最新科学技术进入气象业务,形成了新的大气探测技术,快速通信和计算处理,从而获取更多的大气信息,推动了气象业务的发展。国外气象业务发展的一个重要趋势是日益趋向自动化,即把自动化观测、数据处理、通信及客观分析、预报制作和发布结合成一个完整的自动化系统。移动设备性能的不断提高,无线网络从2G提高到3G甚至4G,天气预

6、报在科技不断进步的推动下也需要朝着信息多元化演变,应该从单纯的文字信息逐渐向文字图像视频等多种数据融合转变。形成了一个集中、统一、数字化的天气预报系统,实现智能终端高效、及时、稳定的信息交互。1.3 系统分析及其主要容Android平台的天气预报软件可以进一步扩大气象信息的覆盖面,让广大Android手机用户能够在第一时间获取最新的天气预报信息,以便提前预防,方便出行。同时,把气象灾害造成的损失降到最低,也可以提高公共服务质量,更好的发挥气象事业对经济社会发展的现实性作用,有巨大的实用价值。该技术在Android平台已经比较成熟,通过该软件的开发让我们更好的认识Android系统的工作原理。本

7、软件是一个App 应用程序,启动程序后可以切换城市,通过图片和文字显示当前和未来的天气状况,包括温度、湿度、风向和雨雪情况等。这些天气数据通过后台服务获取,后台服务可以按照一定时间间隔,从互联网上获取天气预报信息,并将天气信息解析显示在手机界面上。从上面的描述中可以基本了解软件的功能需求:(1) 启动App应用程序注册登陆。(2) 显示天气模块:通过文字和图片显示当前的天气情况,包括日期、时间、城市、最高温度、最低温度、当前温度等。(3) 显示生活模块:通过文字图片动画显示当前的天气情况,包括城市当前天气、温度、风向、风速、湿度;同时显示今后5天的天气情况。(4) 我模块:城市管理,通知提醒,

8、意见反馈,关于。1.4 论文组织结构本论文讨论的是基于android平台的天气查询系统的设计与开发,所以本文的组织结构就是围绕着基于基于android平台的天气查询系统的设计与开发的整个过程来进行。第一章 引言。第二章 系统实现所涉及的技术。 第三章 安卓开发环境配置。第四章 系统总体分析与模型设计。第五章 详细设计,对界面模块设计、数据解析、曲线图的画法进行代码设计。 第六章 测试,对设计功能进行了测试。 文章最后是总结、致谢与参考文献等。第2章 系统实现所涉及的技术2.1 Android系统概述Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Lin

9、ux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。Android一词最早出现于法国作家利尔亚当(Auguste Villiers de lIsle-Adam)在1886年发表的科幻小说未来夏娃(Lve future)中。他将外表像人的机器起名为Android。Android的Logo是由Ascender公司设计的,诞生于2010年,其设计灵感源于男女厕所门上的图形符号,1于是布洛克绘制了一个简单的机器人,它的躯干就像锡罐的形状,头上还有两根天线,Android小机器人便诞生了。其中的文字使用了Ascender公司专门制作的称之为“Droid ” 的字体。And

10、roid是一个全身绿色的机器人,绿色也是Android的标志。颜色采用了PMS 376C和RGB中十六进制的#A4C639来绘制,这是Android操作系统的品牌象徵。有时候,它们还会使用纯文字的Logo。2012年7月美国科技博客BusinessInsider评选出二十一世纪十款最重要电子产品,Android操作系统榜上有名。2.2 Eclipse介绍Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development K

11、it,JDK)。Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和、Eclipse技术项目三个项目组成,具体包括四个部分组成Eclipse Platform、JDT、CDT和PDE。JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能

12、在哪里结束,而另一个工具功能在哪里开始。2.3 Android系统框架Android系统的软件开发,语言基础是java语言,通过控件的设置以及方法调用,实现一系列的功能。Android系统提供给应用程序开发者的只是一个框架,在该平台下开发应用程序必须要遵守这个框架原则。我们开发的应用程序其实就是在这个框架上进行拓展,下面介绍一下android这个框架所提供的功能。Android.app:提供最上层的程序模型和运行环境。Android.content:包含对设备上的数据进行访问和发布的类。Android.database:Android系统置一个轻量级的SQLite数据库。Android.gra

13、phics:底层的图形库,包含颜色过滤,画布,矩形,点,可以用来将它们直接绘制到屏幕上。A: 提供用来帮助访问网络的类。Android.location:定位以及与定位有关的一些类。Android.util:涉及到一些实用性的方法,例如对时间和日期进行操作。Android.media: 提供一些管理多种视频,音频的媒体接口。Android.os:提供了系统服务,IPC机制和消息传输。Android.opngl:提供了OpenGL的工具。Android.provider:提供了访问Android中的容提供者的类。Android.telephony:提供用来与拨打相关的API交互的类。Androi

14、d.view: 提供最基本的用户界面接口框架。Addroid.webkit:提供用来调用默认浏览器的接口。Android.widget包含各种UI元素,可以在应用程序的布局中使用。2.4 Android四大组件一个Android 应用程序,通常由Activity、Intent Receiver、Service、CONtent Provider 四种功能组件构成。但是,并不是每一个Android 应用程序都需要用到这四种功能组件,而是只需上述四种功能组件的某些组合。(1) ActivityActivity是最基本的Android 应用程序组件。大多数应用由多个屏幕组成,一个Activity 通常

15、则是一个单独的屏幕。每一个Activity 都被实现为一个独立的类,并且从Activity 基类中继承而来。Activity 类将会显示由视图控件组成的用户接口,并对事件做出响应。Android 使用Intent 这个特殊类,实现在屏幕与屏幕之间移动。通过解析各种Intent,从一个屏幕导航到另一个屏幕是很简单的。当向前导航时,Activity 将会调用STartActivity(Intent myIntent)方法,然后,系统会在所有安装的应用程序中所定义的IntentFilter 中查找,找到最匹配myIntent的和Intent 对应的Activity.新的Activity 接收到myI

16、ntent 的通知后,开始运行。当startActivity 方法被调用时将触发解析myIntent 的动作。这个机制具有两点优势:一是能够重复利用从其他组件中以Intent 形式产生的一个请求;二是Activity 可以在任何时候被一个具有相同IntentFilter 的新Activity 取代。Activity的生命周期在Android开发中,Activity是非常重要的。Activity主要负责创建和显示窗口,也可以把一个Activity理解成一个显示的屏幕;在Android的应用中不是仅有一个Activity,而是由很多个Activity存在。因其重要性,开发Android务必熟悉Ac

17、tivity生命周期。onCreateView:Activity初次创建时被调用,一般在这里创建view,初始化布局信息,将数据绑定到list以及设置监听器等。如果Activity首次创建,本方法将会调用onStart( );如果是停止后重新显示,则将调用onRestart( )。onStart:当Activity对用户即将课件的时候被调用onResume( )。onRestart:当Activity停止后重新显示的时候被调用,然后调用onStart( )。onPause:当系统要启动一个其他的Activity时调用(其他的Activity显示之前),这个方法使用来停止动画和其他占用CPU资源

18、的事情,所以这这里应该保存那些持久数据,这些数据可以在onResume( )方法中读出。onStop:当另一个Activity恢复并遮盖住当前Activity,导致其对用户不再可见时调用,一个新的Activity启动,其他Activity重新回到前景与用户交互时会重新调用onResume( ),如果Activity将退出则调用哦你D额story( )。onDestory:在当前Activity被销毁之前所调用的最后一个方法,当进程 终止前调用。(2) Intent ReceiverIntent Receiver 是实现的应用能够对一个外部的事件作出响应。Intent Receiver 在And

19、roidManifest.xml 中注册,也可以在代码中使用Context.registerReceiver( )进行注册。当一个IntentReceiver 被触发时,应用不必对请求调用 Intent Receiver,系统会在需要的时候启动应用。各种应用还可以通过使用Context.brOAdcastIntent( )将它们自己的Intent Receiver广播给其他应用程序。(3) ServiceService 是一段长生命周期的、没有用户界面的程序。例如媒体播放器这个Activity 会使用Context.startService( )来启动一个Service,从而可以在后台播放音乐

20、。同时,系统也将保持这个Service 一直执行,直到Service 运行结束。系统可通过使用Context.bindService( )方法,连接到一个Service 上(如果这个Service 还没有运行将启动它)。当连接到一个Service 之后,还可以利用Service 提供的接口与它通信。就媒体播放器来说,还可以进行暂停、重播等操作。 (4) Content ProviderContent Provider是Android 应用程序能够将它们的数据保存到文件、SQL 数据库,甚至是任何有效的设备中。Content Provider 实现了应用数据与其他的应用程序的共享。Content

21、 Provider 类实现一组标准的方法,能够让其他应用程序保存或读取此ContentProvider处理的各种类型数据。在Android 中,默认使用SQLite 作为系统数据库,但使用方法略有不同。Android 中每一个应用程序都运行在各自的进程中,当访问其他应用程序的数据时,需要在不同的虚拟机之间传递数据,这样操作起来会有些困难(正常情况下,不能读取其他应用程序的数据库文件)。ContentProvider 正是解决不同的应用包共享数据的工具。2.5 用户界面Android系统的界面空间分为定制控件。定制空间是用户独立开发的空间,或者通过继承并修改系统空间后所产生的新空间,能够提供特殊

22、的功能和显示需求。系统控件是Android系统中已经封装好的界面控件,而在代码中动态修改需要更新状态的界面元素。当然,用户也可以将所有的界面元素,无论在程序运行后是否需要修改其容,都放在代码中进行定义和声明。很明显这不是一种良好的界面设计模式,会给后期界面修改带来不必要的麻烦,是应用程序开发过程中最常见的功能控件。系统控件更有利于进行快速开发,同事能够使Android应用程序的界面保持一定的一致性。常见的系统控件包括TextView、EditView、Button、ImageButton、CheckButton、Spinner、ListView和Tablehost。界面布局(layout)是用

23、户界面结构的描述,定义界面中所有的元素、结构和相互关系。一般生命Android程序的界面布局有两种方法,第一种是使用XML文件描述界面的布局,另一种是在程序运行时动态添加或修改界面布局。Android系统在生命界面布局上提供了很好的灵活性,用户既可以独立使用任何一种声明布局的方式,也可以同时使用两种方式。一般情况下,使用XML文件来描述用户界的基本元素,而在代码中动态修改需要更新状态的界面元素。当然,用户也可以将所有的界面元素,无论在程序运行后是否需要修改其容,都放在代码中进行定义和声明。很明显这不是一种良好的界面设计模式,会给后期界面修改带来不必要的麻烦,而且界面较多时,程序代码也会显示凌乱

24、不堪。使用XML文件声明界面布局,能够更多地将程序的表现层和控制层分离,在修改界面时将不再需要更改程序的源代码。界面布局的种类:(1) 线性布局:线性布局(LinearLayout)是一种重要的界面布局,也是经常使用的界面布局。在线性布局中,所有子元素都在垂直或水平方向按照顺序在界面上排序。(2) 框架布局: 框架布局(FrameLayout)是最简单的界面布局,用来存放一个元素的空白控件,且子元素的位置不能够制定的,只能够放置在空白空间的左上角。(3) 表格布局:(TableLayout)也是一种常用的界面布局,它将屏幕划分为表格,通过制定行和列可以将界面元素添加到表格中。(4) 相对布局:

25、(RelativeLayout)是一种非常灵活的布局方式,能够通过指定界面元素与其他元素的相对位置关系,确定界面中所有元素的布局为止。(5) 绝对布局:(AbsoluteLayout)能通过指定界面元素的坐标文职,来确定用户界面的整体布局。2.6 FragmentFragment的主要目的在大屏幕设备上实现灵活的、动态的界面设计。例如,在Android的平板电脑上,因为屏幕有更多的空间来配置更多的组件,并且这些组件之间还会产生一定的数据交互。Fragment支持这种设计理论,开发人员不需要管理复杂的试图结构变化,而且把这些动态的管理交给Fragment和回退堆栈(back stack)完成,在

26、进行界面设计时,只需要将界面布局按照功能和取于划分为不同的模块,每个模块设计成一个Fragment即可。Fragment具有和Activity类似的生命周期,但是比Activity支持更多的事件回调函数。Fragment生命周期中回调函数。2.7 网络编程之使用HttpClient进行Get方式通信基于Android 操作系统的天气实况预报系统设计的核心是通过调用通信协议SOAP(Simple Object AccessProtocol)的接口,从Web Service 提供商中提取天气预报的数据信息。采用HttpPost来与后台交互,然后对数据进行解析,从中找到需要的数据。如下图所示为提供w

27、ebservice服务的网络拓扑图 图 2-1 网络拓扑图在Android开发中,Android SDK附带了Apache的HttpClient,它是一个完善的客户端。它提供了对HTTP协议的全面支持,可以使用HttpClient的对象来执行HTTP GET和HTTP POST调用。HTTP工作原理:(1) 客户端(一般是指浏览器,这里是指自己写的程序)与服务器建立连接(2) 建立连接后,客户端向服务器发送请求(3) 服务器接收到请求后,向客户端发送响应信息(4) 客户端与服务器断开连接HttpClient的一般使用步骤:(1) 使用DefaultHttpClient类实例化HttpClien

28、t对象(2) 创建HttpGet或HttpPost对象,将要请求的URL通过构造方法传入HttpGet或HttpPost对象。(3) 调用execute方法发送HTTP GET或HTTP POST请求,并返回HttpResponse对象。(4) 通过HttpResponse接口的getEntity方法返回响应信息,并进行相应的处理。最后记得要在AndroidManifest.xml文件添加网络权限聚合数据全国天气预报数据接口使用HttpClient进行Get方式通信,通过HttpClient建立网络连接,使用HttpGet方法读取数据,并且通过HttpResponse获取Entity返回值。第

29、3章 开发环境配置3.1 Android开发框架下图是Android的体系架构图,自上而下分别为应用层、应用框架、类库和Alvik运行时环境以及Linux核。图3.1 Android的体系架构图一般来说,我们想从事Android开发,可以从应用开发作为切入点,逐渐熟悉其整个体系,并慢慢往其底层渗透,从而能做到软硬兼备,Android系统开发班的课程设置就充分考虑到了这一点,既涉到应用开发的透彻掌握,又帮助大家在系统开发层面上做好充分的准备。而从学习的路线图上来说,先熟悉Java SE编程,能比较熟练的使用Java语言进行编程,熟悉Java语言语法特点,熟悉Java IO、Java线程、网络编程

30、、XML处理等。另外,因为很多的Android应用在运行时都需要去访问服务器,因此,熟悉一种网络编程语言也是必要的。 无论是从开发班的课程设置就充分考虑到了这一点,既涉到应用开发的透彻掌握,又帮助大家在系统开发层面上做好充分的准备。而从学习的路线图上来学习的方便性还是市场占有情况来说使用JSP/Servlet都是不二的选择,另外,在这个阶段也顺便学习一下SQL语法和熟悉一种SQL数据库,以方便后续Android开发中进行SQLite数据库开发。学习完这些课程后,就可以开始进行Android的应用开发的学习,例如Android中的UI组件、基本组件、数据存储、传感器、图形图像处理、多媒体处理、游

31、戏开发等。Android包含一套C/C+库,Android系统的各式组件都在使用。这些功能通过Android应用框架暴露给开发人员。Android的核心类库提供Java类库所提供的绝大部分功能。每个Android应用都运行在自己的进程上,享有Dalvik虚拟机为它分配的专有实例。为了支持多个虚拟机在同一个设备上高效运行,Dalvik被改写过。 Dalvik虚拟机执行的是Dalvik格式的可执行文件(.dex)该格式经过优化,以降低存耗用到最低。Java编译器将Java源文件为class文件,class文件又被置的dx工具转化为dex格式文件,这种文件在Dalvik虚拟机上注册并运行。在一些底层功能比如线程和低存管理方面,Dalvik虚拟机是依赖Linux核的。为了更好地进行应用编程,可以有选择的对其Lib类库进行分析,以加深对其工作机制的理解。再往下,就是操作系统层级了,这里应该要对Linux操作系统进行学习,熟悉其核和运行原理,熟悉ARM体系架构以及常用指令并熟悉驱动的编写方式,掌握其移植方法等。Android的核心应用程序就是依赖框架层次API开发的,程序员们可以充分使用这些API。应用架构设计的初衷是,简化组件复用机制,任何应用都能发布自己的功能,这些功能又可以被任何其他应用使用,当然要受来自框架的强制

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1