版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、开发目标现有的3 G技术和移动互联网技术的快速发展,智能手机功能的不断增 强,让基于An droid平台的查询需求越来越多。本软件就是利用现有的网络快速获取网络上的天气信息并显示到手机终 端上,为用户提供实时的天气查询和近期天气查询服务,为工作、出行等带 来便利。通过 Web Service等技术让用户体验到前所未有的移动计算。第2章项目设计项目总体设计本软件是一个App Widget应用程序,启动程序后可以进行城市、更新频 率的设置,可以通过图片和文字显示当前和未来的天气状况,包括温度、湿 度、风向和雨雪情况等。这些天气数据是通过后台服务获取的,这个后台服 务可以按照一定的时间间隔,通过Go
2、ogle提供的服务获取天气预报信息,并 将天气信息保存在数据库中。该软件的基本功能需求有:(1)启动App Widget应用程序;(2) 设置界面:对要显示天气预报的城市及更新频率进行设置;(3) 显示界面:通过文字和图片显示当前的天气情况,包括日期、时间、 城市、最高温度、最低温度、当前温度等。(4) 详细界面:在显示出“显示界面”上所有信息的同时用列表的形式 显示今后四天的天气情况。技术框架设计开发环境An droid的上层应用程序是用Java语言开发的,一般情况下是基于Dalvik虚拟机的,所以 Google公司推荐使用主流的Java集成开发环境Eclipse。而用Java语言进行开发,
3、需要用到 SUN公司提供的Java SDK(其 中包括 JRE Java Run time En viro nment)。此外,An droid 的应用程序开发和Java开发有较大区别的,需要使用 Google提供的An droid SDK。同时, 要在Eclipse上安装ADT为An droid开发提供开发工具的升级或者变更, 是Eclipse下开发工具的升级或下载的工具。简言之,需要以下软件,才能搭建An droid开发环境,从而进行An droid 应用程序的开发。(1) Java SDK(2) Eclipse(3) An droid SDKADT技术支持本软件使用基于SOAP简单对象访
4、问协议)的Web Service技术来实现与 服务器端的信息交互,获取网络上的数据。Web Service使用基于XM技术的消息处理,作为基本的数据通讯方式。WebService建立在一些通用协议的基础上,如HTTR SOAP XML WSDJ_ UDD等。各应用程序通过网络协议和规定 的一些标准数据格式(HTTR XML SOAR来访问Web Service。而所有的SOA消息都使用XM编码。一条SOA消息就是一个包含有一个必 需的SOA的封装包,一个可选的SOA标头和一个必需的SOAI体块的XM文档。XM文档在An droid平台上的解析可以通过SAX勺方式方便快速的完成。解 析An dr
5、oid应用程序中获得的列表数据XM文件,对XM文件中的数据实现分 离,得到指定的所需要的信息,然后执行存入数据库或显示到页面等相应的 处理。An droid 的开发组 Activity 、Intent Receiver 、Service、ContentProvider等,可以实现不同页面之间的跳转;数据的获取和实现与数据库的 实时交互;不同页面和进程间数据的共享。数据库设计本软件中有两部分数据需要存储,一个是显示页面的数据,另一个是详细页面的数据。但是数据量都不是很大,因此可以选择SQLite数据库作为存储数据的方法,建立数据库,并且建立两张表weather_widget和 weather_f
6、orecast,分别存储显示页面的数据和详细页面的数据。表2-1详细页面的数据库表weather_forecast 的结构属性数据类型说明_idin teger自动增加的主键widgetIdin teger组件的ID号dayOfWeektext周几lowin teger最低温度hightin teger最高温度icontext显示天气的图标con ditiontext未来天气情况表2-2显示页面的数据库表weather_widget的结构属性数据类型说明_idin teger存储Widget组件idcitytext进行天气信息查询的城市名updateMilistext进行天气信息查询的频率,单
7、位为 分/次isC on figuredtext是否设置postalCodetext城市标记forecastDatein teger预报日期con ditiontext当前天气情况tempFin teger最高温度tempCin teger最低温度humiditytext当前湿度icontext天气图标windCon ditiontext风向风速情况lastUpdateTimein teger最后一次更新时间功能模块设计从功能需求上分析可以看出,整个应用程序应划分为4个模块,分别是程序启动、用户界面、后台服务和数据库适配器,各模块之间的关系如图2-1 所示。图2-1各功能模块间的关系从模块结构
8、图中不难看出,后台服务是整个应用程序的核心,主要是“数 据获取模块”,负责周期性的从Google获取天气信息。后台服务在程序启动 时就由AppWidgetProvider启动,也可由用户界面通过startService() 进行 启动,启动后的后台服务将一直保持运行状态。用户界面是从数据库中获取天气信息,而没有直接通过网络访问Google的天气数据。这样设计,一方面可以避免因网络通信不畅而造成界面失去响 应;另一方面,后台服务可以及时更新数据,以保证数据的准确性。数据库适配器封装了所有对SQLite数据库操作的方法,用户界面和后台 服务会调用它来实现对数据库的操作。第3章项目功能描述系统主要功
9、能本软件要完成在an droid手机上实现天气的即时预报。所涉及的功能有:1. 启动程序后可以进行城市、更新频率的设置;2. 可以通过图片和文字显示当前和未来的天气状况,包括温度、湿度、 风向和雨雪情况等。使用效果图实现与相应天气的结合。3. 这些天气数据是通过后台服务获取的,这个后台服务可以按照一定的时间间隔,通过Google提供的公共接口获取天气预报信息,并将天气信息保存在本地数据库中。系统各模块具体实现321文件结构与用途在程序开发阶段,首先确定“ An droid手机天气预报软件”的工程名为 ty-weather,据程序模块设计的内容,建立ty-weather工程。工程源代码的 结构如
10、图3-1所示。-ty-wsatKerto anim- 击 dim. ty.E |J Cni curtAfiUritr. jm+ 7j DitiilForscistActirity. jwi+ J F:rctJroviitr.jacv + j_ Forec45tStrvic4.java #1 血 Forx总HTim需EHvi w,+ |J Fmec 盜tlhd窈t*+ jceHelper.- dt cflm. ty.util+ J_ ForneasLEntity.javaEtl 血 PorecastUtil. j ava+1 j_ Hi dge tEntity聊& 由 l2z? gen Gene
11、rated Java FilesIT M Ainh-oid 1.5沙 assets-resX f o t a t e curr entw e a th er. xmJ.X tr azts 1 :iteclLoudJ.e t. x血1I iX tir azisl atecloudi ht ” mnLK Iran si 包 t erainOl. Minitr ansi at广旨iGO2 雄ml.M tr an slaters inO3A nl.X tr all 1 it fer ai rJD4 - fnlX tr ansi atarain05_ 我ml 田drawableB S? layout世i
12、 0ur卸甜mlnLfc.(jf1. x-ml巨 LKX de I till trns. Mffiil.X we atlteir. xm_一valuesX celot.xmlif str izvs. xmlB htd!|X*电蚯tktrwi dgt. Mmla -1 Aitdlrai dJflani fest, xml圓 de f ault. propex 11es图 3-1 ty-weather工程的源代码文件结构为了使源代码文件的结构更加清晰, Weather工程设置了多个命名空间,分别用来保存用户界面、数据库、后台服务和工具实体的源代码文件。源代码文件的名称以及说明如表3-1所示。表3-
13、1 ty-weather工程的文件用途说明包名称文件名说明设置页面”的Activity详细页面”的Activity天气预报相关数据提供者,操作数据库后台进程服务后台时间服务实现AppWidget组件,并启动服务网络数据获取模块未来天气信息的类天气信息工具类当前天气信息的类An droid的资源文件保存在/res 的子目录中。其中、/res/a nim 目录中 保存的是产生动画效果的 XML文件,/res/drawable/目录中保存的是图像文 件,/res/values目录中保存的是用来自定义字符串和颜色的文件,/res/xml目录中保存的是XML格式的数据文件。所有在程序开发阶段可以被调用的
14、资 源都保存在这些目录中,具体每个资源文件的用途可以参考表3-2 :表3-2资源文件名称与用途资源目录文件说明An im渐变透明度动画效果画面转换位置移动动画效果(从左至右)画面转换位置移动动画效果(从右至左)画面转换位置移动动画效果(从上至下)画面转换位置移动动画效果(从上至下)画面转换位置移动动画效果(从上至下)画面转换位置移动动画效果(从上至下)画面转换位置移动动画效果(从上至下)drawable这个文件夹里是工程里所用的图片,如有表示天气状况、数字等,此处不赘述。layout设置城市、天气更新频率的布局“显示页面”的布局“详细显示”页面上边的显示当前天气的布局“详细显示”页面下边的显示
15、未来天气的布局values保存颜色的XML文件保存字符串的XML勺文件xmlAppWidget的属性文件数据提供者数据提供者ForecastProvider 继承ContentProvider,是在应用程序间 共享数据的一种接口机制。应用程序在不同的进程中运行,因此,数据和文件在不同的应用程序之间是不能够直接进行访问的。而Co nte ntProvider为程序员提供了较高级的数据共享方法,应用程序可以指定需要共享的数据, 而其他应用程序则可以在不知数据来源、路径的情况下,对共享数据进行查 询、添加、删除和更新等操作。在创建ForecastProvider时,首先需要使用数据库、文件系统或网络
16、实 现底层存储功能,这里我们采用数据库建立了数据库设计中的两张表,从而 实现了底层存储功能。然后在继承Co nte ntProvider的类中实现基本数据操作的接口函数,包括添加、删除、查找和更新等功能。(1) 创建数据库:DatabaseHelper 类继承 SQLiteOpenHelper,SQLiteOpenHelper 这个类 可以辅助建立、更新和打开数据库。DatabaseHelper在建立数据库时,同时 建立了两个数据库表weather_widget和weather_forcast,并对保存配置信 息的表进行了初始化。(2)URI 设置:ContentProvider可以提供多个数
17、据集,调用者使用URI (通用资源标识 符)对不同的数据集的数据进行操作。URI用来定位任何远程或本地的可用 资源。ContentProvider使用的URI语法结构,我们就需要先来对 URI进行 设置。(3)查询功能:执行数据的查询功能主要用到SQLiteQueryBuilder 的query()方法。Query(SQLiteDatabasedb,Stri ngprojectio nln ,Stri ngselecti on, Stri ngselectio nArgs,Stri nggroupBy,Stri nghaving,String sortOrder,String limit),参
18、数说明如下表 3-3 所示:表3-3 query()方法的参数说明参数说明SQLiteDatabase db要查询的数据库实例Strin g projecti onln是一个字符串数组,里边的每一项代表了需要返回的列名String selecti on相当于SQL语句中的where部分Strin gselecti on Args是一个字符串数组,里边的每一项依次替代在第三 个参数中出现的问号()String groupBy相当于SQL语句当中的groupby部分String sortOrder描述是怎么进行排序Stri ng limit相当于SQL当中的limit部分,控制返回的数据的个数(4
19、) 添加、删除、更新功能,对数据库表中存放的天气等信息进行有效的 管理。添加功能:public Uri insert(Uri uri, ContentValues values)删除功能: public int delete(Uri uri,String selection,String selectio nArgs)。更新功能:public int update(Uri uri,ContentValues values,String selecti on, Stri ng selecti on Args)。(5) 类型匹配:增删改查通过 switch判断,进行不同的操作,因而还需 要对关键字进行类型匹配。后台服务后台服务是ty-weather工程的核心模块,在用户启动后持续在后台运行,直到用户停止服务。后台服务主要有三个功能:一是周期性的获取Google的天气数据并存储到SQLite,二是从SQLite读取出要显示的数据,三是定时更 新“显示页面”的时间。(1)获取天气数据天气数据的获取天气数据分为以下三个步骤:1. 从Google提供的Web Service中获取的天气数据,数据的获取地址是: &hl=zh-cn。2. 调用轻量级XM解析器XmlPullParser对从网络上获取的字节流数据进 行解析,并且将解析结果保存在 WidgetEntity
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 临床氨甲苯酸、氨基己酸、氨甲环酸等止血药适应症、用法、不良反应、禁忌症等区别及药理作用
- 2024果树采购合同
- 2025高考生物备考说课稿:免疫失调与免疫学的应用说课稿
- 2024融资合同范本:新能源汽车产业专项协议3篇
- 专属2024学校系列校服订购协议
- 2024液化气运输合同能源消耗与减排责任规范文本3篇
- 专业咨询顾问合作合同(2024年度版)版
- 福建省南平市松溪县郑墩中学高二语文月考试题含解析
- 12坐井观天(说课稿)2024-2025学年统编版语文二年级上册
- 1-1《子路、曾皙、冉有、公西华侍坐》说课稿-2024-2025学年高一语文下学期同步说课稿(统编版必修下册)
- 北师大版七年级数学寒假班讲义(基础班)
- 2024-2025学年北师版八年级物理上册期末考试综合测试卷
- 深圳市建设工程施工围挡图集(试行版_下半部分).pdf
- 全国城市雕塑行业设计收费标准
- 质量管理组织机构及职责
- 园区保安队长的工作职责
- 中文论文标准格式及说明
- 宁波市彩叶树种园林应用调查研究
- 国家电网公司电力客户档案管理规定
- iso10110系列标准
- 万能中国地图模板(可修改)
评论
0/150
提交评论