基於Web Service技術的天氣達人安卓系統的設計論文

基於Web Service技術的天氣達人安卓系統的設計論文

  1 引言

  隨著生活水平的提高,人們越來越關注影響身體健康的天氣狀況,如何實時地掌握居住地或出行地的天氣預報和天氣狀況呢?據工信部近日公佈的2014年7月份通訊業經濟執行資料顯示,我國移動網際網路總數已達到8.72億戶。在2013年中國移動網際網路統計報告中資料顯示,中國移動網際網路網民中鄉鎮人口占比為14%,城市人口占比84%。因此移動網際網路網民,尤其城鎮居民可以透過移動互聯裝置輕鬆地掌握居住地或出行地的天氣情況。

  據統計,2014年2月至4月中國移動網民智慧手機系統分佈中,安卓系統佔比78.5%,iOS佔14.1%,Windows佔6.9%,BlackBerry佔0.2%,其他為0.3%。由此統計資料可以看出安卓系統的天氣預報系統的應用市場很廣泛。系統不僅能提供城市的天氣情況,還能快捷地知道如今人們都非常關注的空氣汙染程度。空氣汙染指標為參考美國環保署及其他機構所研議決定的指標,以0至500的數值來表示空氣汙染程度。這個指標值和健康的影響關係分為以下五個等級。0~50健康影響:優;51~100(Good)良;101~199(Moderate):輕微、輕度汙染,不良;200~299(Unhealthy):中度汙染,極不良;300~350(Very Unhealthy):中度汙染,有害350~500(Hazardous):重汙染,危險。

  2 Web Service技術

  Web Service技術,能使得執行在不同機器上的不同應用無須藉助附加的、專門的第三方軟體或硬體,就可相互交換資料或整合。依據Web Service規範實施的應用之間,無論它們所使用的語言、平臺或內部協議是什麼,都可以相互交換資料。Web Service是自描述、自包含的可用網路模組,可以執行具體的業務功能,為整個企業甚至多個組織之間的業務流程的整合提供了一個通用機制。目前這些協議有:XML和XSD。Web Service平臺是用XSD來作為資料型別系統的。為了符合Web Service標準,所使用的資料型別都必須被轉換為XSD型別。如想讓它使用在不同平臺和不同軟體的不同組織間傳遞,還需要用SOAP(Simple Object Access Protocol)協議,即簡單物件訪問協議,用於交換XML編碼資訊的輕量級協議。Web Service希望實現不同的系統之間能夠用“軟體-軟體對話”的方式相互呼叫,打破了軟體應用、網站和各種裝置之間的格格不入的狀態,實現“基於Web無縫整合”的目標。

  “天氣達人”系統採用Web Service技術訪問國家氣象網站,獲取天氣預報資訊。

  3 系統的設計與開發

  3.1 功能性需求

  天氣狀態已經不僅僅是當前使用者關注的問題了,由於環境的惡化,出行的人們更多的關注的是現在的空氣質量,PM2.5,PM10等指數,系統提供了對於當前主要空氣質量引數的查詢,氣溫引數的查詢,並提供實時的資料更新。

  3.2 系統框架設計

  “天氣達人”系統功能結構圖如圖1所示。系統由多個功能模組組成,主要包含以下幾個方面:

  (1)空氣質量資料獲取模組;

  (2)天氣資料獲取模組;

  (3)微博分享模組;

  4)語音輸出模組;

  (5)主題切換模組;

  (6)滑屏模組。

  3.3 系統的模組實現

  以上六個模組的實現主要使用瞭如下幾種Android元件:1)網路資料的非同步請求(AsyncTask)。2)非同步更新主介面資料(Handler)。3)介面水平划動(ViewGroup)。4)定時更新(ScheduledExecutorService)。5)微博分享,使用騰訊提供的介面。6)語音輸出(TTS)。7)動畫載入(Animation)。8)地理位置分享(GPS+WIFI)。“天氣達人”系統開發語言採用Java,開發環境 Android + eclipse。

  由於Android的介面是顯示在主執行緒中的,因此為了防止阻塞主執行緒,介面的重繪更新使用的是Handler訊息處理的方式。在天氣資料,和空氣質量資料請求成功返回之後均會發送一個各自獨有的`訊息,當兩個不同的訊息在主執行緒內捕獲後,均會將各自攜帶的資料傳遞到主執行緒內的區域性變數中,這樣只有當兩個訊息所攜帶的資料均被獲得後,主介面才會被重新整理。系統主執行緒和外部執行緒之間的順序圖,如圖2所示。

  系統的介面流程:包括初始的介面載入、微博分享、詳細介面、城市列表、城市切換、介面重新整理加主題切換、語音朗讀。如圖3所示。詳細介面包含天氣、溫度、風力、舒適度等資料,並且包括空氣質量、PM2.5、PM10以及詳細等級的顯示。右下角提供了語音功能,點選可朗讀建議資料,使使用者體驗更加的人性化。Android提供了訪問Google Map的介面,可以透過Android平臺開發與地圖相關的應用。由於天氣和空氣質量需要獲得本地的位置,因此還添加了對當前使用者所在地理位置的查詢,透過使用Google提供的Location Manager和Google Map可以準確定位當前使用者所在位置。

  4 Web Service技術在系統中的應用

  Web Service是建立在HTTP、SOAP、WSDL等通用協議的基礎上的。其中,WSDL(Web Services Description Language)是一種用來描述Web服務的XML語言,它描述了Web服務的功能、介面、引數、返回值等,便於使用者繫結和呼叫服務,與具體語言無關的方式定義了給定Web服務呼叫和應答的相關操作和訊息。本系統中使用的WSDL是:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?WSDL。這是中國提供的Webservice。獲得城市天氣預報Web Services支援的國內省份和城市資訊的主要程式碼:

  5 結束語

  天氣狀態已經不僅僅是當前使用者關注的問題了,由於環境的惡化,出行的人們更多的關注的是現在的空氣質量,PM2.5,PM10等指數,“天氣達人”安卓系統提供了對於當前主要空氣質量引數的查詢,氣溫引數的查詢,並提供實時的資料更新。此係統的功能實現是基於Web Service技術的,主要使用了HTTP、SOAP、WSDL等通用協議。

  章芳.我國移動網際網路使用者總數達8.72億戶.http://www.cctime.com/html/2014-8-22/201482859338614.htm.

  易觀智庫.2013年中國移動網際網路統計報告.http://www.eguan.cn/download/zt.php?tid=1979&rid=1988.

  2014年2月至4月全球智慧手機系統市場統計..http://mobile.cnw.com.cn/news/other/htm2014/20140603_301614.shtml.

  王整風,閆洪亮.Web Service相關概念例項解析.科技廣場. 2006,5:39~41.

  郭昊辰.基於Android平臺的掌上運維繫統的設計與實現.北京郵電大學.2013,3:7~10.

  申建忠.Android下Google Map地圖類應用程式的開發.黑龍江科技資訊.2013,8:159~160.

最近訪問