版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于Android的天气预报查询系统的实现摘要随着智能手机一步步走进人们的生活,它将成为人们获取信息的主要设备,相关应用越来越广泛,并在人们的日常生活中扮演着越来越重要的角色。因此,关键应用程序的开发成为影响移动智能终端普及的重要因素,设计并开发实用、方便的应用程序具有重要的意义和良好的市场前景。Android作为当前最流行的操作平台,自然也存在着大量的应用服务需求。Android是基于Linux平台完全开源的手机操作系统,同时开发语言为Java,因此我选择了以Android为平台的手机天气预报系统来作为我的毕业设计,目的是帮助用户随时随地查询天气信息及天气变化情况,让生活更加舒适方便。本文详细讲述了Android平台下天气软件的界面设计及界面的实现、控件的使用、界面的布局等内容,结合中国气象网的天气数据,将准确的天气情况以友好的方式呈现给用户,使用户可以更加赏心悦目地体验本软件的服务。关键词:Android天气软件手机天气预报软件系统目录TOC\o"1-3"\h\u4128摘要 I467前言 117331.系统分析 112171.1.需求分析 1213831.2.Android系统的特点 1326301.3.系统规划 270581.4.系统构架图 3280212.Android开发环境及相关技术 3131462.1.Android开发环境介绍 3257102.2.相关技术介绍 4267762.2.1.Activity 4304312.2.2.Layout布局 463763.程序设计 6134723.1.界面设计 6252663.1.1.城市设置界面 61903.1.2.天气显示界面 8271414.功能测试 928507总结 1214725致谢 1313168参考文献 14PAGE32前言Android平台手机气象软件是基于Android手机平台,运用Java语言,从Google上获取天气预报信息,开发出针对使用Android平台的手机天气预报系统。本文详细介绍了加载界面、实时天气界面、未来天气界面和搜索界面进行界面设计及实现,目的是使用户能够更加赏心悦目地体验此软件带来的服务。通过对界面的布局及控件的应用等相关内容的学习,使我们对Android平台下界面开发工作有一个初步的了解,并且经过这次开发过程,能够基本掌握这些内容。软件开发后能够帮助用户随时随地搜索由中国气象局提供的全国2564个县级以上城市的天气信息,并且把数据显示在一个界面美观、布局合理窗口内,使用户能够舒适的享受软件带来的服务。系统分析需求分析本软件是一个AppWidget应用程序,启动程序后可以进行城市、更新频率的设置,可以通过图片和文字显示当前和未来的天气状况,包括温度、湿度、风向和雨雪情况等。这些天气数据是通过后台服务获取的,这个后台服务可以按照一定时间间隔,从Google上获取天气预报信息,并将天气信息保存在数据库中。从上面的描述中可以基本了解软件的功能需求:(1)启动AppWidget应用程序;(2)设置界面:对要显示天气预报的城市及更新频率进行设置;(3)显示界面:通过文字和图片显示当前的天气情况,包括日期、时间、城市、最高温度、最低温度、当前温度等。(4)详细界面:通过文字图片动画显示当前的天气情况,包括城市当前天气、温度、风向、风速;同时显示今后三天的天气情况。Android系统的特点开放性。Google与开放性手机联盟合作开发了android,Google通过与动行商,通过与运营商,设备制造商,开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化,开放式的移动电话软件平台,在移动产业内形成一个开放式生态系统。应用程序无界限。Android上的应用可以通过标准API访问核心移动设备功能。通过互联网,应用程序可以声明它们的功能可提供其它应用程序使用。应用程序是在平等的条件下创建的,移动设备上的应用程序可以被替换或扩展,即使是拨号或主屏幕这样的核心组件。应用程序可以轻松地嵌入网络。应用程序可以轻松地嵌入HTML,javascript和样式表,还可以通过Webview显示内容。应用程序可以并行运行。Android是一种完整的多任务环境,应用程序可以在其中并行运行,在后台运行时,应用程序可以生成通知引起注意。系统规划由上述的需求,现将系统分为三大模块:天气显示界面模块、预报城市设置模块与Widget桌面小部件模块。各系统模块功能如下:.天气显示界面模块显示指定城市三天内的天气状况,包括日期、城市名称、温度、风力与当日的建议,用户可通过按菜单键来显示菜单更新当前天气与设置天气显示的界面背景,以及跳转至设置预报城市界面来更换预报城市。预报城市设置模块由自动设置预报城市与手动设置二部分组成,自动设置实现GPS定位功能,自动确定当前用户所在地;而手动设置则通过可伸展性下拉列表单击选择系统数据库中预存的城市来进行设置,同时为了方便用户查找,支持以输入框的形式来过滤查询预报城市。当单击选中城市时跳转至天气显示界面,来显示该城市当三天内的天气状况;第一次运行时自动跳到该界面。Widget桌面小部件模块为了方便用户实时了解天气状况,特别添加在Android系统桌面上显示当前天气与时间的天气小部件,使用户拿起手机的第一时刻就能了解天气,同时当用户单击小部件时,自动跳转至天气显示界面,显示三天内的详细天气。系统构架图图2-4系统构架图Android开发环境及相关技术Android开发环境介绍Android平台使用Java编程语言来开发应用程序,而Android提供了对Java的核心支持。考虑到Java虚拟机的执行效率和占用资源情况,Google重新设计了Java的编译器,命名为Dalvik。Dalvik是经过优化的Java编译器,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个Dalvik应用作为一个独立的Linux进程执行,独立的进程可以防止在虚拟机崩溃的时候所有程序都被关闭。项目的开发在Eclipse环境中进行,由于进行的是Android应用程序的开发,需要在Eclipse安装ADT插件,即Android开发工具,这样Eclipse就可以和AndroidSDK建立连接,在Eclipse中启动Android模拟器、调试程序等工作。相关技术介绍Activity在Android应用程序中,一个活动Activity通常就是一个单独的界面。每一个界面都被实现为一个独立的类,并且从Activity基类中继承而来,Activity将会显示由空间组成的用户接口,并对事件做出响应。大多数的应用都是由多个Activity显示组成,例如,第一个界面用来显示加载界面,第二界面用来显示实时天气界面,第三个界面用来显示未来一周的天气界面。这里的每一个界面就是一个Activity,很容易是从一个界面到一个新的界面,并且完成新的Activity。当一个新的界面打开后,前一个界面将会暂停,并保留在历史栈中。用户可以返回到历史栈中的前一个界面,当界面不再使用时,从历史栈中删除。简单理解,Activity代表一个用户所能看到的界面,主要用于处理应用程序的整体性工作,例如,监听系统事件(按键事件、触摸屏事件等),为用户显示指定的View,启动其他Activity等。所有应用的Activity都继承于android.app.Activity类,该类是Android提供的基层类,其他的Activity继承该父类后,通过父类的方法实现各种功能,这种设计在其他领域也较为常见。Layout布局布局方式有很多种,比如线性布局(LinearLayout)、相对布局(RelativeLayout)、表格布局(TableLayout)、网格视图(GridView)、标签布局(TabLayout)、列表视图(ListView)和绝对布局(AbsoluteLayout)。本文设计主要采用线性布局(LinearLayout),所以就线性布局我们来做简单地介绍。线性布局LinearLayout:线性布局是所用布局中最常用的方式之一,RadioGroup,TabWidget,TableLayout,TableRow,ZoomControls类的父类。LinearLayout可以让它的子元素垂直或水平的方式排成一行(不设置方向的时候默认按照垂直方向排列)。LinearLayout以你为它设置的垂直或水平的属性值,来排列所有的子元素。所有的子元素都被堆放在其它元素之后,因此一个垂直列表的每一行只会有一个元素,而不管他们有多宽,而一个水平列表将会只有一个行高(高度为最高子元素的高度加上边框高度)。LinearLayout保持子元素之间的间隔以及互相对齐(相对一个元素的右对齐、中间对齐或者左对齐)。LinearLayout还支持为单独的子元素指定weight。好处就是允许子元素可以填充屏幕上的剩余空间。这也避免了在一个大屏幕中,一串小对象挤成一堆的情况,而是允许他们放大填充空白。子元素指定一个weight值,剩余的空间就会按这些子元素指定的weight比例分配给这些子元素。默认的weight值为0。例如,如果有三个文本框,其中两个指定了weight值为1,那么,这两个文本框将等比例地放大,并填满剩余的空间,而第三个文本框不会放大。
程序设计界面设计城市设置界面当第一次运行程序时,跳转至城市设置界面进行预报城市的选择:图3-1设置城市界面用户可以通过单击选择“定位当前城市”的方式调用系统GPS功能自动定位预报城市:图3-2自动定位界面用户可通过输入框过滤查询当前系统中预存的城市:图3-3输入城市界面天气显示界面选择了预报城市后,系统跳转至天气显示界面,显示该城市三天内的实时天气:图3-4主界面在天气界面中用户可通过按菜单键来调出菜单,选择城市,更新天气与更换背景图3-5更换壁纸界面功能测试在完成界面代码的编写工作之后,结合其他模块,进行测试。右键单击项目目录RunAsAndroidApplication,然后选择启动设备,测试效果如下:图5:启动虚拟机5.1当系统初次启动时,由于没有设置预报城市,则自动由MianActivity天气显示视图跳转到SetCityActivity城市设置视图,并要求用户选择预报城市,如下:图5-1接下来点击确定选择城市,则系统确定用户单击城市的城市码跳转至天气显示界面,如下:图5-21图5-22跳转到天气显示界面后,可单击“菜单”按钮来显示天气的菜单:图5-31图5-32选择“设置城市”菜单项,则跳转至设置城市的视图界面,在这里可以在输入城市的关键字在进行过滤查询,这样就及大的方便了用户的选择:图5-51图5-52如果要定位当前的城市,以单击“定位当前城市”自动设置城市,而在此之前必须,在DDMS控制面板中在指定一个经纬度,来开启GPS功能:图5-61图5-62所有界面显示正常,且数据正确,测试成功!总结经过数个月的努力,在指导老师与同学的指导帮助下基于Android平台的天气软件开发终于完成了。由于Android智能手机日益普及,手机天气软件可以让用户随时随地了解天气,为用户的日常生活多一些帮助,让生活多一些舒适。所以基于Android智能手机的平台进行天气软件的开发,从一开始什么都不懂一直摸索着运用了很多高级技术完成了这个软件。在这个过程中,我学会了很多知识,比如Android环境的搭建、Intent、Activity、Service、ContentProvider、SQLite等,但我学会的最重要的一点是,利用现有的资源去解决问题,在图书馆、在网络上寻找答案。Android环境搭建的基本工作完成后,本文对界面的控件、布局和美观方面进行设计,结合小组其他成员的建数据库、获取数据信息和整体设计方面等成果,通过模拟器显示出加载界面、实时天气界面、未来天气界面和选择城市天气界面。目前,这个软件目前运行良好,但是网络的不稳定性对软件的运行有一定的影响。与此同时,这个软件还可以进一步发展,例如,第一次登陆时乱码问题还没有成功解决,如果把这个问题解决将会对用户有更多的帮助,使他们的生活更加愉悦和方便。
参考文献[1]靳岩,姚尚朗.GoogleAndroid开发入门与实战[M].人民邮电出版社.55-56.[2]景保玉,中国移动应用开发现状与趋势大调
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024矿石产品销售协议模板大全
- 建筑劳务分包协议模板2024
- 2023-2024学年重庆一中高高三第二次联考高三数学试题
- 2024年航空物流销售代表协议范本
- 2024进口商品订购协议模板集锦
- 2024年订餐服务详细协议样本
- 2024年化妆设备租赁协议条款
- 吊装设备及运输服务协议模板2024
- 创业合作伙伴股份转移协议范本
- 城市商务用车租赁协议2024
- 2024-2030年中国光探测器行业发展规划及应用前景预测报告
- 当代社会政策分析 课件 第二章 就业社会政策
- DL-T5333-2021水电水利工程爆破安全监测规程
- 教研组听课记录
- 信息技术知识点
- 人教版(一年级起点)一年级至六年级的英语词汇
- 消防培训四懂四会
- 企业招聘会新闻稿范文300字
- 大学生研学活动策划方案
- 第9课发展全过程人民民主(课件+视频)(高教版2023·基础模块)
- 内蒙古包头市青山区2022-2023学年八年级上学期期末生物试题
评论
0/150
提交评论