版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.2开发目标现有的3GAndroidWebService等技术让用户体验到前所未有的移动计算。2工程总体设计AppWidget这些天气数据是通过后台效劳猎取的,这个后台效劳可以依据肯定的时间间隔,通过Google该软件的根本功能需求有:AppWidget设置界面:对要显示天气预报的城市及更频率进展设置;温度、最低温度、当前温度等。的天气状况。技术框架设计开发环境JavaDalvikGoogleJavaEclipse。而用JavaSUNJavaSDK(JRE:JavaRuntimeEnvironment)AndroidJavaGoogleAndroidSDK。EclipseADTAndroidEclipse下开发工具的升级或下载的工具。简言之,需要以下软件,才能搭建AndroidAndroid开发。JavaSDK1EclipseAndroidSDKADT技术支持本软件使用基于SOAP(简洁对象访问协议)的WebService技术来实现与效劳器端的信Service使用基于XML技术的消息处理,作为根本的数据、SOAP、XML、WSDL、UDDI等。各应用程序通过网络协议和规定的一些标准数据格式〔、XML、SOAP)来访问WebService。而全部的SOAP消息都使用XML编码。一条SOAP消息就是一个包含有一个必需的SOAP的封装包,一个可选的SOAP标头和一个必需的SOAP体块的XML文档。XML文档在Android平台上的解析可以通过SAX的方式便利快速的完成。解析Android信息,然后执行存入数据库或显示到页面等相应的处理。AndroidActivity、IntentReceiver、Service、ContentProvider间数据的共享。数据库设计但是数据量都不是很大,因此可以选择SQLite数据库作为存储数据的方法,建立数据库weather_widgetweather_forecast,分别存储显示页面的数据和具体页面的数据。2-1weather_forecast属性属性_idwidgetIddayOfWeeklowhighticoncondition数据类型integerintegertextintegerintegertexttext说明组件的ID号周几显示天气的图标将来天气状况2-2weather_widget属性属性_idcityupdateMilisisConfigured数据类型integertexttexttext说明Widgetid进展天气信息查询的城市名/次是否设置2postalCodeforecastDateconditiontempFtempChumidityiconwindCondition
textintegertextintegerintegertexttexttext
最高温度风向风速状况lastUpdateTime integer 最终一次更时间功能模块设计从功能需求上分析可以看出,整个应用程序应划分为4个模块,分别是程序启动、用户界面、后台效劳和数据库适配器,各模块之间的关系如图2-1所示。图2-1各功能模块间的关系GoogleAppWidgetProvider启动,也可由用户界面通过startService进展启动,启动后的后台效劳将始终保持运行状态。Google这样设计,一方面可以避开因网络通信不畅而造成界面失去响应;另一方面,后台效劳可3以准时更数据,以保证数据的准确性。它来实现对数据库的操作。3章工程功能描述系统主要功能1.启动程序后可以进展城市、更频率的设置;等。使用效果图实现与相应天气的结合。Google系统各模块具体实现文件构造与用途ty-weather,ty-weather3-143-1ty-weather存用户界面、数据库、后台效劳和工具实体的源代码文件。源代码文件的名称以及说明如表3-1所示。3-1ty-weather包名称包名称com.ty.weather文件名ConfigureActivity.javaDetailForecastActivity.java说明Activitycom.ty.weatherActivitycom.ty.weatherForecastProvider.javacom.ty.weathercom.ty.weatherForecastService.javaForecastTimeService.javacom.ty.weatherForecastWidget.javacom.ty.weathercom.ty.weather.utilcom.ty.weather.utilcom.ty.weather.utilWebServiceHelper.javaForecastEntity.javaForecastUtil.javaWidgetEntity.java天气预报相关数据供给者,操作数据库启动效劳天气信息工具类当前天气信息的类Android/res/res/animXML,/res/drawable/名目中保存的是图像文件,/res/valuesXML3-2:表3-2 资源文件名称与用途资源名目 文件 说明rotatecurrentweather.xmltranslatecloudleft.xmlAnim translatecloudright.xmltranslaterain01.xmltranslaterain02.xml
渐变透亮度动画效果〔从左至右〕〔从右至左〕〔从上至下〕〔从上至下〕5drawable
translaterain03.xmltranslaterain04.xmltranslaterain05.xmlcloudy.pngdots.pngnumber_7_tahoma.pngweather_sunny.pngconfigure.xmlweather.xml
〔从上至下〕〔从上至下〕〔从上至下〕这个文件夹里是工程里所用的此处不赘述。“显示页面”的布局layout detail.xmldetailitems.xmlcolor.xml
“具体显示”页面上边的显示当前天气的布局天气的布局XMLvalues
strings.xml
保存字符串的XML的文件xml weatherwidget.xml AppWidget数据供给者ForecastProviderContentProvider,是在应用程序间共享数据的下,对共享数据进展查询、添加、删除和更等操作。ForecastProvider和更等功能。创立数据库:DatabaseHelperSQLiteOpenHelperSQLiteOpenHelper更和翻开数据库。DatabaseHelper在建立数据库时,同时建立了两个数据库表weather_widgetweather_forcast,并对保存配置信息的表进展了初始化。URIURI〔通用资源标识符〕对不同的数据集的数据进展操作。URIContentProviderURIcontent://<authority>/<data_path>/<id>。因此,我们就需要先URI查询功能:SQLiteQueryBuilder的query6Query(SQLiteDatabasedb,String[]projectionIn,Stringselection,String[]selectionArgs,StringgroupBy,Stringhaving,StringsortOrder,Stringlimit),参数3-3参数说明参数说明SQLiteDatabasedb 要查询的数据库实例String[]projectionIn是一个字符串数组,里边的每一项代表了需要返回的列名Stringselection 相当于SQL语句中的where局部是一个字符串数组,里边的每一项依次替代在第三个参数中出String[]selectionArgs〔?〕StringgroupBySQLgroupbyStringhavingSQLhavingStringsortOrder描述是怎么进展排序Stringlimit相当于SQL当中的limit局部,掌握返回的数据的个数添加功能:publicUriinsert(Uriuri,ContentValuesvalues){}。删除功能:publicintdelete(Uriuri,Stringselection,String[]selectionArgs){}。更功能:publicintupdate(Uriuri,ContentValuesvalues,Stringselection,String[]selectionArgs){}。类型匹配:增删改查通过switch类型匹配。后台效劳后台效劳是ty-weather工程的核心模块,在用户启动后持续在后台运行,直到用户停顿Google的天气数据并存储到SQLite,二是从SQLite读取出要显示的数据,三是定时更“显示页面”的时间。猎取天气数据天气数据的猎取天气数据分为以下三个步骤:从Google供给的WebService中猎取的天气数据,数据的猎取地址是:“://google/ig/api?weather=%25s&hl=zh-cn“://google/ig/api?weather=%s&hl=zh-cn。XML解析器XmlPullParser将解析结果保存在WidgetEntity对象中。将解析好的数据存储到SQLite数据库中。其过程是:使用ContentResolver对象,通过URI间接调用ContentProvider,使用ContentResolver对象与ContentProvider进展交互,而ContentResolver则通过URI确定需要访问的ContentProvider的数据集。调用关系如以下图3-2所示。7ContentResolver URI ContentProvide文件系统 数据库 网络图3-2 ContentProvider的调用关系读取天气数据实例WebServiceHelper.getWidgetEntity方法操作数据库取出所需要的数据。定时更时间。AppWidget一启动就会启动ForcastTimeService这个后台效劳,此效劳设置了每隔20Android平台上的应用程序所要启动的效劳需要在AndroidManifest.xml配置文件中注册。<serviceandroid:name=“ForecastService“></service><serviceandroid:name=“ForecastTimeService“></service>用户界面在用户界面设计上,承受了AppWidget框架构造,供给直观的交互操作。三个用户界面风格简约、操作简便,用户体验将格外好。如以下图3-3所示:8图3-3系统主要用户界面程序的入口类ForecastWidget在设计上承受了AppWidgetAppWidget就是HomeScreen上显示的小部件,通过在HomeScreen空白处长按,在弹出的对话框中选择部件来进展创立。此外,长按部件后并拖动到垃圾箱里进展删除,也可以拖动到屏幕的其他地方,或者拖动到下一个屏幕上。设置页面ConfigureActivity继承Activity并且实现了View.OnClickListener接口,第一次启动之前会先运行ConfigureActivity,会消灭设置页面用户进展设置,点击保存按钮就会将设置好的参数会存储到SQLite中。DetailForecastActivity天的天气信息。为了能够以列表的形式显示多行数据,并制定每行数据的布局,使用了ListActivity。setContentView(onCreate(ListActivity,增加了使用的便利性。在此工程中,仍旧使用setContentView(动态特效detail.xml布局中消灭漂移的云或下detail.xml布局中消灭透亮度渐渐变化的太阳图标等,这些效果将会具体表达为具体页面上的天气图标的变化。动画效果是通过XML文件来实现
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- JJF 2464-2026可吸附有机卤素测定仪校准规范
- T/SHBX 053-2025全生物降解食品接触用一次性手套
- T/PPZL 039-2025黄河流域内蒙古段草地生态系统服务价值评估技术规程
- T/CECCEDA 8-2026人工智能 数据资产可信流通管理框架
- T/CHASA 017-2024家电上门服务全流程用户体验评价规范
- T/CSMT-YB 018-2026γ射线成像探测系统检测规范
- GB/T 591-2026船用法兰铸铁截止止回阀
- 2025~2026学年河北省廊坊市校联考冀教版六年级上册第三次月考数学试卷【附答案】
- 江苏省新沂市度第二期期2027届数学七上期末联考模拟试题含解析
- PHP工程师经典面试题(含详细答案解析)
- 办公室工作讲解课件
- 胡桃夹综合征的超声诊断
- 湖州幄肯中欣新能源科技有限公司太阳能光伏、氢能装备关键元器件制造项目环评报告
- 物业管理委托合同大小物业CBRE模板
- 儿童青少年情绪相关精神障碍的早期识别与治疗课件
- 北京市建筑工程资料管理规程
- 《X射线管原理与应用》课件
- (必考题)高中物理必修三第十一章《电路及其应用》测试题(有答案解析)
- 全国职业院校技能大赛高职组(直播电商赛项)备赛试题库(含答案)
- (正式版)HG∕T 20644-2024 弹簧支吊架选用标准
- HGT 4205-2024《工业氧化钙》规范要求
评论
0/150
提交评论