基于Android的天气预报查询系统的实现毕业设计_第1页
基于Android的天气预报查询系统的实现毕业设计_第2页
基于Android的天气预报查询系统的实现毕业设计_第3页
基于Android的天气预报查询系统的实现毕业设计_第4页
基于Android的天气预报查询系统的实现毕业设计_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

基于 Android 的天气预报查询系统的实现摘要:随着智能手机一步步走进人们的生活,它将成为人们获取信息的主要设备,相关应用越来越广泛,并在人们的日常生活中扮演着越来越重要的角色。因此,关键应用程序的开发成为影响移动智能终端普及的重要因素,设计并开发实用、方便的应用程序具有重要的意义和良好的市场前景。Android 作为当前最流行的操作平台,自然也存在着大量的应用服务需求。Android 是基于 Linux 平台完全开源的手机操作系统,同时开发语言为 Java,因此我选择了以 Android 为平台的手机天气预报系统来作为我的毕业设计,目的是帮助用户随时随地查询天气信息及天气变化情况,让生活更加舒适方便。本文详细讲述了 Android平台下天气软件的界面设计及界面的实现、控件的使用、界面的布局等内容,结合中国气象网的天气数据,将准确的天气情况以友好的方式呈现给用户,使用户可以更加赏心悦目地体验本软件的服务。关键词:Android 天气软件 手机天气预报软件系统System implementation of weather query based on AndroidAbstractWith the development of intelligent mobile phone step by step into peoples lives, it will become the main device to obtain information, related to more widely, and plays a more and more important role in peoples daily life. Therefore, the development of critical applications has become an important factor affecting the popularization of mobile intelligent terminal, application design and development of practical, convenient has important significance and good market prospects. Android as the most popular operating platform, natural also exist in application service needs of a large number of.Android is a mobile phone operating system Linux platform based on open source, at the same time, the development of language Java, so I chose the platform of mobile phone weather system with Android as my graduation design, the purpose is to help the user whenever and wherever possible query weather information and weather condition, make life more comfortable and convenient. This paper describes the layout of content, interface design and interface control weather software under the Android platform use, interface, combined with the weather data of China Meteorological Network, will be accurate weather conditions in a friendly way is presented to the user, the user can be more pleasant experience of the software service.Keyword: Android weather software the software system of mobile phone weather目录第一章 绪论.11.1 研究内容. .11.2 课题背景和意义.11.3 发展现状及趋势.1第二章 系统分析.22.1 需求分析 22.2 Android 系统的特点.22.3 系统规划.32.4 系统构架图.4第三章 Android 开发环境及相关技术 .43.1 Android 开发环境介绍.43.2 Android 开发平台搭建53.3 相关技术介绍.5第四章 程序设计.104.1 界面设计104.2 项目框架134.3 主要功能实现.144.31 获取城市码 db_weather.db 数据库文件.144.32 实现可伸缩性列表的构建与过滤.184.33 GPS 定位功能的实现.214.34 Widget 窗体小部件的更新.25第五章 功能测试.27第六章 结论31致谢.31参考文献.32第一章 绪论1.1 研究内容 Android 平台手机气象软件是基于 Android 手机平台,运用 Java 语言,从Google 上获取天气预报信息,开发出针对使用 Android 平台的手机天气预报系统。本文详细介绍了加载界面、实时天气界面、未来天气界面和搜索界面进行界面设计及实现,目的是使用户能够更加赏心悦目地体验此软件带来的服务。通过对界面的布局及控件的应用等相关内容的学习,使我们对 Android 平台下界面开发工作有一个初步的了解,并且经过这次开发过程,能够基本掌握这些内容。软件开发后能够帮助用户随时随地搜索由中国气象局提供的全国 2564 个县级以上城市的天气信息,并且把数据显示在一个界面美观、布局合理窗口内,使用户能够舒适的享受软件带来的服务。1.2 课题背景和意义 近几年来随着智能手机的不断普及,应用的需求与日俱增,应用的开发成为当下最热门的技术之一。Android 是一个真正意义上的开源智能手机操作系统,该系统一经推出立即受到全球移动设备厂商和开发者的热捧。为顺应潮流,本设计旨在搭载 Android 的移动设备上运行,实现天气状况的实时更新与显示,方便人们的出行与生活。Android 平台手机气象软件的开发可以进一步扩大气象信息的覆盖面,让广大公众能够在第一时间方便且快捷地获取最新的气象预报(预警)信息,以便提前预防,把气象灾害造成的损失降到最低。同时也可以强化气象公共服务的职能,完善公共服务体系、改善公共服务手段、增加公共服务产品、提高公共服务质量,更好地发挥了气象事业对经济社会发展的现实性作用。1.3 发展现状及趋势Android 系统自推出以来,就以明显的优势逐渐扩大自大的市场份额。据美国某市场调研机构 2012 年发布的一份最新报告显示。2012 年一季度在美国,基于Android 系统的智能手机的销售量已占据全美手机销售量的 28%份额,而大名顶顶的 IPhone 手机其市场份额紧追其后,占到 21%的市场份额,已经确定了 Android 系统的市场占有比。据业内人士分析,随着 Android 系统相应软件的不断开发应用,选择 Android 系统手机或者无线终端设备的人会越来越多,其市场霸主的地位在更新更好的系统出现之前是不可动摇地。Google 官方数据显示,Android 电子市场(Android Market)上的应用程序数量已经突破 45 万个,一年内增加 30 万个。相信在不久的将来会有更多的用户选择Android 系统的手机。Android 是以 Linux 为核心的手机操作平台,作为一款开放式的操作系统,随着 Android 的快速发展,如今已允许开发者使用多种编程语言来开发 Android 应用程序,而不再是以前只能使用 Java 开发 Android 应用程序的单一局面,因而受到众多开发者的欢迎,成为真正意义上的开放式操作系统。第二章 系统分析2.1 需求分析本软件是一个 App Widget 应用程序,启动程序后可以进行城市、更新频率的设置,可以通过图片和文字显示当前和未来的天气状况,包括温度、湿度、风向和雨雪情况等。这些天气数据是通过后台服务获取的,这个后台服务可以按照一定时间间隔,从 Google 上获取天气预报信息,并将天气信息保存在数据库中。从上面的描述中可以基本了解软件的功能需求:(1) 启动 App Widget 应用程序;(2) 设置界面:对要显示天气预报的城市及更新频率进行设置;(3) 显示界面:通过文字和图片显示当前的天气情况,包括日期、时间、城市、最高温度、最低温度、当前温度等。(4) 详细界面:通过文字图片动画显示当前的天气情况,包括城市当前天气、温度、风向、风速;同时显示今后三天的天气情况。2.2 Android 系统的特点1、开放性。Google 与开放性手机联盟合作开发了 android,Google 通过与动行商,通过与运营商,设备制造商,开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化,开放式的移动电话软件平台,在移动产业内形成一个开放式生态系统。2、应用程序无界限。Android 上的应用可以通过标准 API 访问核心移动设备功能。通过互联网,应用程序可以声明它们的功能可提供其它应用程序使用。3、应用程序是在平等的条件下创建的,移动设备上的应用程序可以被替换或扩展,即使是拨号或主屏幕这样的核心组件。4、应用程序可以轻松地嵌入网络。应用程序可以轻松地嵌入 HTML,javascript和样式表,还可以通过 Webview 显示内容。5、应用程序可以并行运行。Android 是一种完整的多任务环境,应用程序可以在其中并行运行,在后台运行时,应用程序可以生成通知引起注意。2.3 系统规划由上述的需求,现将系统分为三大模块:天气显示界面模块、预报城市设置模块与 Widget 桌面小部件模块。各系统模块功能如下:1). 天气显示界面模块显示指定城市三天内的天气状况,包括日期、城市名称、温度、风力与当日的建议,用户可通过按菜单键来显示菜单更新当前天气与设置天气显示的界面背景,以及跳转至设置预报城市界面来更换预报城市。2). 预报城市设置模块由自动设置预报城市与手动设置二部分组成,自动设置实现 GPS 定位功能,自动确定当前用户所在地;而手动设置则通过可伸展性下拉列表单击选择系统数据库中预存的城市来进行设置,同时为了方便用户查找,支持以输入框的形式来过滤查询预报城市。当单击选中城市时跳转至天气显示界面,来显示该城市当三天内的天气状况;第一次运行时自动跳到该界面。3).Widget 桌面小部件模块为了方便用户实时了解天气状况,特别添加在 Android 系统桌面上显示当前天气与时间的天气小部件,使用户拿起手机的第一时刻就能了解天气,同时当用户单击小部件时,自动跳转至天气显示界面,显示三天内的详细天气。2.4 系统构架图图 2-4 系统构架图第三章 Android 开发环境及相关技术3.1 Android 开发环境介绍Android 平台使用 Java 编程语言来开发应用程序,而 Android 提供了对 Java的核心支持。考虑到 Java 虚拟机的执行效率和占用资源情况,Google 重新设计了Java 的编译器,命名为 Dalvik。Dalvik 是经过优化的 Java 编译器,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个 Dalvik 应用作为一个独立的 Linux进程执行,独立的进程可以防止在虚拟机崩溃的时候所有程序都被关闭。项目的开发在 Eclipse 环境中进行,由于进行的是 Android 应用程序的开发,需要在 Eclipse 安装 ADT 插件,即 Android 开发工具,这样 Eclipse 就可以和Android SDK 建立连接,在 Eclipse 中启动 Android 模拟器、调试程序等工作。简言之,需要以下软件,才能搭建 Android 开发环境,从而进行 Android 应用程序的开发。Java SDKEclipseAndroid SDKADT3.2 Android 开发平台搭建Android 开发平台搭建步骤:首先到 /downloads/下载 Eclipse 集成开发环境并且解压,这里推荐下载 Java EE 集成版本,可以为平台的搭建省下不少工作。接着再去 /javase/downloads/index.jsp 站点下载后安装下载/android/android-sdk-windows-1.5_r1.zip,Android SDK1.5后解压。第一步下载工序就结束了。双击 Eclipse 解压后目录中的 eclipse.exe 然后启动,选择 Eclipse 菜单中的 Help- Install New Software- 选项卡上的 Available Software,点击右侧的“Add”输入 /android/eclipse/后确定,然后在“Work with”下拉菜单中选择刚才输入的网址。过一会就会出现一个 Developer Tools 选项,勾上以后点击 Next 以后 Eclipse 会自动网上查找 Android 开发工具插件,然后找到 Android DDMS 和 Android Development Tools,选中这两个点击Finish,Eclipse 就会自动下载并安装 Android 插件了,最后会提示重启 Eclipse。重启后选择 Eclipse 菜单中的 Windows- Preferences 在左侧的 Android 项目中 SDK Location 中填入 Android SDK 解压后的目录,然后点击 Apply。在 WindowsXP 的系统变量中的 path 变量中添加一个值,该值指向解压后的Android SDK 目录下的 tools 文件夹。3.3 相关技术介绍3.3.1 Activity在 Android 应用程序中,一个活动 Activity 通常就是一个单独的界面。每一个界面都被实现为一个独立的类,并且从 Activity 基类中继承而来,Activity 将会显示由空间组成的用户接口,并对事件做出响应。大多数的应用都是由多个Activity 显示组成,例如,第一个界面用来显示加载界面,第二界面用来显示实时天气界面,第三个界面用来显示未来一周的天气界面。这里的每一个界面就是一个 Activity,很容易是从一个界面到一个新的界面,并且完成新的 Activity。当一个新的界面打开后,前一个界面将会暂停,并保留在历史栈中。用户可以返回到历史栈中的前一个界面,当界面不再使用时,从历史栈中删除。简单理解,Activity 代表一个用户所能看到的界面,主要用于处理应用程序的整体性工作,例如,监听系统事件(按键事件、触摸屏事件等) ,为用户显示指定的View,启动其他 Activity 等。所有应用的 Activity 都继承于android.app.Activity 类,该类是 Android 提供的基层类,其他的 Activity 继承该父类后,通过父类的方法实现各种功能,这种设计在其他领域也较为常见。3.3.2 IntentAndroid 基本的设计理念是鼓励减少组件间的耦合,因此 Android 提供了Intent(意图) ,Intent 提供了一种通用的消息系统,它允许在你的应用程序与其他的应用程序间传递 Intent 来执行动作和产生时间。使用 Intent 可以激活Android 应用的三个核心组件:活动、服务和广播接收器。Intent 可以划分为显示意图和隐式意图。显示意图调用 Intent。SetClass 方法明确制定了组件名的 Intent 为显示意图,显示意图明确制定了 Intent 应该传递给那个组件,在同一个应用内部使用的。隐式意图没有明确指定组件名的 Intent 为隐式意图。Android 系统会根据隐式意图中设置的动作(action) 、类别(category) 、数据(URI 和数据类型)找到最合适的组件来处理这个意图。Intent 负责对应用中一次操作的动作、动作涉及数据和附加数据进行描述,Android 则根据此 Intent 的描述,负责找到对应的组件,将 Intent 传递给调用的组件,并完成组件的调用。因此,Intent 在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的结构。3.3.3 Service如果把 Activity 比喻为前台程序,那么 Service 就是后台程序,Service 的整个生命周期都只会在后台执行。Service 跟 Activity 一样也由 Intent 调用。由于Service 在后台运行,所以没有界面,用来处理耗时比较长,而且 Service 不是一个单独的进程,也不是一个单独的线程。Service 有两种类型:本地服务(Local Service):用于应用程序内部;远程服务(Remote Sercie):用于 android 系统内部的应用程序之间;前者用于实现应用程序自己的一些耗时任务,比如查询升级信息,并不占用应用程序比如 Activity 所属线程,而是单开线程后台执行,这样用户体验比较好。后者可被其他

温馨提示

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

评论

0/150

提交评论