Android手機天氣預報項目報告_第1頁
Android手機天氣預報項目報告_第2頁
Android手機天氣預報項目報告_第3頁
Android手機天氣預報項目報告_第4頁
Android手機天氣預報項目報告_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1.2開發(fā)目標現(xiàn)有的3GAndroidWebService等技術(shù)讓用戶體驗到前所未有的移動計算。2工程總體設(shè)計AppWidget這些天氣數(shù)據(jù)是通過后臺效勞獵取的,這個后臺效勞可以依據(jù)肯定的時間間隔,通過Google該軟件的根本功能需求有:AppWidget設(shè)置界面:對要顯示天氣預報的城市及更頻率進展設(shè)置;溫度、最低溫度、當前溫度等。的天氣狀況。技術(shù)框架設(shè)計開發(fā)環(huán)境JavaDalvikGoogleJavaEclipse。而用JavaSUNJavaSDK(JRE:JavaRuntimeEnvironment)AndroidJavaGoogleAndroidSDK。EclipseADTAndroidEclipse下開發(fā)工具的升級或下載的工具。簡言之,需要以下軟件,才能搭建AndroidAndroid開發(fā)。JavaSDK1EclipseAndroidSDKADT技術(shù)支持本軟件使用基于SOAP(簡潔對象訪問協(xié)議)的WebService技術(shù)來實現(xiàn)與效勞器端的信Service使用基于XML技術(shù)的消息處理,作為根本的數(shù)據(jù)、SOAP、XML、WSDL、UDDI等。各應用程序通過網(wǎng)絡協(xié)議和規(guī)定的一些標準數(shù)據(jù)格式〔、XML、SOAP)來訪問WebService。而全部的SOAP消息都使用XML編碼。一條SOAP消息就是一個包含有一個必需的SOAP的封裝包,一個可選的SOAP標頭和一個必需的SOAP體塊的XML文檔。XML文檔在Android平臺上的解析可以通過SAX的方式便利快速的完成。解析Android信息,然后執(zhí)行存入數(shù)據(jù)庫或顯示到頁面等相應的處理。AndroidActivity、IntentReceiver、Service、ContentProvider間數(shù)據(jù)的共享。數(shù)據(jù)庫設(shè)計但是數(shù)據(jù)量都不是很大,因此可以選擇SQLite數(shù)據(jù)庫作為存儲數(shù)據(jù)的方法,建立數(shù)據(jù)庫weather_widgetweather_forecast,分別存儲顯示頁面的數(shù)據(jù)和具體頁面的數(shù)據(jù)。2-1weather_forecast屬性屬性_idwidgetIddayOfWeeklowhighticoncondition數(shù)據(jù)類型integerintegertextintegerintegertexttext說明組件的ID號周幾顯示天氣的圖標將來天氣狀況2-2weather_widget屬性屬性_idcityupdateMilisisConfigured數(shù)據(jù)類型integertexttexttext說明Widgetid進展天氣信息查詢的城市名/次是否設(shè)置2postalCodeforecastDateconditiontempFtempChumidityiconwindCondition

textintegertextintegerintegertexttexttext

最高溫度風向風速狀況lastUpdateTime integer 最終一次更時間功能模塊設(shè)計從功能需求上分析可以看出,整個應用程序應劃分為4個模塊,分別是程序啟動、用戶界面、后臺效勞和數(shù)據(jù)庫適配器,各模塊之間的關(guān)系如圖2-1所示。圖2-1各功能模塊間的關(guān)系GoogleAppWidgetProvider啟動,也可由用戶界面通過startService進展啟動,啟動后的后臺效勞將始終保持運行狀態(tài)。Google這樣設(shè)計,一方面可以避開因網(wǎng)絡通信不暢而造成界面失去響應;另一方面,后臺效勞可3以準時更數(shù)據(jù),以保證數(shù)據(jù)的準確性。它來實現(xiàn)對數(shù)據(jù)庫的操作。3章工程功能描述系統(tǒng)主要功能1.啟動程序后可以進展城市、更頻率的設(shè)置;等。使用效果圖實現(xiàn)與相應天氣的結(jié)合。Google系統(tǒng)各模塊具體實現(xiàn)文件構(gòu)造與用途ty-weather,ty-weather3-143-1ty-weather存用戶界面、數(shù)據(jù)庫、后臺效勞和工具實體的源代碼文件。源代碼文件的名稱以及說明如表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天氣預報相關(guān)數(shù)據(jù)供給者,操作數(shù)據(jù)庫啟動效勞天氣信息工具類當前天氣信息的類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數(shù)據(jù)供給者ForecastProviderContentProvider,是在應用程序間共享數(shù)據(jù)的下,對共享數(shù)據(jù)進展查詢、添加、刪除和更等操作。ForecastProvider和更等功能。創(chuàng)立數(shù)據(jù)庫:DatabaseHelperSQLiteOpenHelperSQLiteOpenHelper更和翻開數(shù)據(jù)庫。DatabaseHelper在建立數(shù)據(jù)庫時,同時建立了兩個數(shù)據(jù)庫表weather_widgetweather_forcast,并對保存配置信息的表進展了初始化。URIURI〔通用資源標識符〕對不同的數(shù)據(jù)集的數(shù)據(jù)進展操作。URIContentProviderURIcontent://<authority>/<data_path>/<id>。因此,我們就需要先URI查詢功能:SQLiteQueryBuilder的query6Query(SQLiteDatabasedb,String[]projectionIn,Stringselection,String[]selectionArgs,StringgroupBy,Stringhaving,StringsortOrder,Stringlimit),參數(shù)3-3參數(shù)說明參數(shù)說明SQLiteDatabasedb 要查詢的數(shù)據(jù)庫實例String[]projectionIn是一個字符串數(shù)組,里邊的每一項代表了需要返回的列名Stringselection 相當于SQL語句中的where局部是一個字符串數(shù)組,里邊的每一項依次替代在第三個參數(shù)中出String[]selectionArgs〔?〕StringgroupBySQLgroupbyStringhavingSQLhavingStringsortOrder描述是怎么進展排序Stringlimit相當于SQL當中的limit局部,掌握返回的數(shù)據(jù)的個數(shù)添加功能:publicUriinsert(Uriuri,ContentValuesvalues){}。刪除功能:publicintdelete(Uriuri,Stringselection,String[]selectionArgs){}。更功能:publicintupdate(Uriuri,ContentValuesvalues,Stringselection,String[]selectionArgs){}。類型匹配:增刪改查通過switch類型匹配。后臺效勞后臺效勞是ty-weather工程的核心模塊,在用戶啟動后持續(xù)在后臺運行,直到用戶停頓Google的天氣數(shù)據(jù)并存儲到SQLite,二是從SQLite讀取出要顯示的數(shù)據(jù),三是定時更“顯示頁面”的時間。獵取天氣數(shù)據(jù)天氣數(shù)據(jù)的獵取天氣數(shù)據(jù)分為以下三個步驟:從Google供給的WebService中獵取的天氣數(shù)據(jù),數(shù)據(jù)的獵取地址是:“://google/ig/api?weather=%25s&hl=zh-cn“://google/ig/api?weather=%s&hl=zh-cn。XML解析器XmlPullParser將解析結(jié)果保存在WidgetEntity對象中。將解析好的數(shù)據(jù)存儲到SQLite數(shù)據(jù)庫中。其過程是:使用ContentResolver對象,通過URI間接調(diào)用ContentProvider,使用ContentResolver對象與ContentProvider進展交互,而ContentResolver則通過URI確定需要訪問的ContentProvider的數(shù)據(jù)集。調(diào)用關(guān)系如以下圖3-2所示。7ContentResolver URI ContentProvide文件系統(tǒng) 數(shù)據(jù)庫 網(wǎng)絡圖3-2 ContentProvider的調(diào)用關(guān)系讀取天氣數(shù)據(jù)實例WebServiceHelper.getWidgetEntity方法操作數(shù)據(jù)庫取出所需要的數(shù)據(jù)。定時更時間。AppWidget一啟動就會啟動ForcastTimeService這個后臺效勞,此效勞設(shè)置了每隔20Android平臺上的應用程序所要啟動的效勞需要在AndroidManifest.xml配置文件中注冊。<serviceandroid:name=“ForecastService“></service><serviceandroid:name=“ForecastTimeService“></service>用戶界面在用戶界面設(shè)計上,承受了AppWidget框架構(gòu)造,供給直觀的交互操作。三個用戶界面風格簡約、操作簡便,用戶體驗將格外好。如以下圖3-3所示:8圖3-3系統(tǒng)主要用戶界面程序的入口類ForecastWidget在設(shè)計上承受了AppWidgetAppWidget就是HomeScreen上顯示的小部件,通過在HomeScreen空白處長按,在彈出的對話框中選擇部件來進展創(chuàng)立。此外,長按部件后并拖動到垃圾箱里進展刪除,也可以拖動到屏幕的其他地方,或者拖動到下一個屏幕上。設(shè)置頁面ConfigureActivity繼承Activity并且實現(xiàn)了View.OnClickListener接口,第一次啟動之前會先運行ConfigureActivity,會消滅設(shè)置頁面用戶進展設(shè)置,點擊保存按鈕就會將設(shè)置好的參數(shù)會存儲到SQLite中。DetailForecastActivity天的天氣信息。為了能夠以列表的形式顯示多行數(shù)據(jù),并制定每行數(shù)據(jù)的布局,使用了ListActivity。setContentView(onCreate(ListActivity,增加了使用的便利性。在此工程中,仍舊使用setContentView(動態(tài)特效detail.xml布局中消滅漂移的云或下detail.xml布局中消滅透亮度漸漸變化的太陽圖標等,這些效果將會具體表達為具體頁面上的天氣圖標的變化。動畫效果是通過XML文件來實現(xiàn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論