劉永濤
摘 要:在如今這個智能手機系統(tǒng)群雄紛爭的時候,Android的最大特點是其開放性體系架構(gòu),不僅具有非常好的開發(fā)、調(diào)試環(huán)境,而且還支持各種可擴展的用戶體驗,包括豐富的圖形組件、多媒體支持功能以及強大的瀏覽器。因此,對于軟件從業(yè)人員來說,Android平臺具有無限的吸引力。本文就在分析討論Android手機軟件開發(fā)技術(shù)原理的基礎(chǔ)上,開發(fā)出能為用戶提供更好的基于Android平臺的手機氣象軟件。
關(guān)鍵詞:android;氣象軟件;智能手機平臺
一、研究內(nèi)容
Android平臺手機氣象軟件是基于Android手機平臺,運用Java語言,從Google上獲取天氣預(yù)報信息,開發(fā)出針對使用Android平臺的手機天氣預(yù)報系統(tǒng)。讓廣大公眾能夠在第一時間方便且快捷地獲取最新的氣象預(yù)報(預(yù)警)信息,以便提前預(yù)防,把氣象災(zāi)害造成的損失降到最低。同時也可以強化氣象公共服務(wù)的職能,完善公共服務(wù)體系、改善公共服務(wù)手段、增加公共服務(wù)產(chǎn)品、提高公共服務(wù)質(zhì)量,更好地發(fā)揮了氣象事業(yè)對經(jīng)濟社會發(fā)展的現(xiàn)實性作用。Android的上層應(yīng)用程序是用Java語言開發(fā),同時還需要基于Dalvik虛擬機,所以,Google公司推薦使用主流的Java繼承開發(fā)環(huán)境Eclipse。只有Eclipse還不夠,因為是使用Java語言進行開發(fā),還應(yīng)該有由SUN公司提供的Java SDK(其中包括JRE:Java Runtime Environment)。此外,Android的應(yīng)用程序開發(fā)和Java開發(fā)有較大區(qū)別的,所以還需要有Google提供的Android SDK。同時,還需要在Eclipse安裝ADT,為Android開發(fā)提供開發(fā)工具的升級或者變更,是Eclipse下開發(fā)工具的升級下載的工具。
二、程序概要設(shè)計
根據(jù)需求分析可以知道,應(yīng)用程序應(yīng)包含三個主要的用戶界面,這里需要進一步分析每個用戶界面中應(yīng)該包括哪些顯示內(nèi)容。在“設(shè)置頁面”中,需要對要顯示天氣預(yù)報的城市及更新頻率進行設(shè)置。在“顯示頁面”中,顯示當前的天氣狀況,包括城市名稱、溫度、濕度、風向、雨雪情況和獲取數(shù)據(jù)時間等信息。在“詳細頁面”動態(tài)顯示當前天氣情況,還要顯示未來四天的天氣情況。 本軟件中有兩部分數(shù)據(jù)需要存儲,一個是顯示頁面的數(shù)據(jù),另一個詳細頁面的數(shù)據(jù)。因此選擇SQLite數(shù)據(jù)庫作為存儲數(shù)據(jù)的方法,建立數(shù)據(jù)庫forcasts.db,并且建立兩張表weather_forcastt和weather_widget,分別存儲顯示頁面的數(shù)據(jù)和詳細頁面的數(shù)據(jù)。從功能需求上分析可以看出,整個應(yīng)用程序應(yīng)劃分為4個模塊,分別是程序啟動、用戶界面、后臺服務(wù)和數(shù)據(jù)庫適配器。從模塊結(jié)構(gòu)圖中不難看出,后臺服務(wù)是整個應(yīng)用程序的核心,主要是“數(shù)據(jù)獲取模塊”,負責周期性的從Google獲取天氣信息。后臺服務(wù)在程序啟動時就由AppWidgetProvider啟動,也可由用戶界面通過startService()進行啟動,啟動后的后臺服務(wù)將一直保持運行狀態(tài)。用戶界面從數(shù)據(jù)庫中獲取天氣信息,而沒有直接通過網(wǎng)絡(luò)訪問Google的天氣數(shù)據(jù)。之所以這么實際,一方面可以避免因網(wǎng)絡(luò)通信不暢造成界面失去響應(yīng);另一方面,后臺服務(wù)可以及時更新數(shù)據(jù),以保證數(shù)據(jù)的準確性。數(shù)據(jù)庫適配器封裝了所有對SQLite數(shù)據(jù)庫操作的方法,用戶界面和后臺服務(wù)會調(diào)用它來實現(xiàn)數(shù)據(jù)庫操作。在完成用戶界面設(shè)計、數(shù)據(jù)庫設(shè)計和模塊設(shè)計后,至此程序設(shè)計階段基本完成
三、結(jié)語
本軟件是一個應(yīng)用程序,啟動程序后可以進行城市、更新頻率的設(shè)置,可以通過圖片和文字顯示當前和未來的天氣狀況,包括溫度、濕度、風向和雨雪情況等。這些天氣數(shù)據(jù)是通過后臺服務(wù)獲取的,這個后臺服務(wù)可以按照一定時間間隔,從Google上獲取天氣預(yù)報信息,并將天氣信息保存在數(shù)據(jù)庫中。
參考文獻:
[1](英)Herbert Schildt Java參考大全(J2SE 5 Edition),清華大學出版社
[2](美)鮑格斯坦(Bergsten,H.)著,林琪,朱濤江 譯.JSP設(shè)計(第三版)/ OReilly Java系列[M].北京:中國電力出版社,2004年12月.
[3]王向輝,張國印,沈潔.Android應(yīng)用程序開發(fā).清華大學出版社,2010年3月.