劉 玲
(遼寧公安司法管理干部學(xué)院,遼寧 沈陽 110161)
基于Android系統(tǒng)的天氣預(yù)報APP設(shè)計
劉玲
(遼寧公安司法管理干部學(xué)院,遼寧沈陽110161)
移動互聯(lián)時代, 隨著移動設(shè)備的快速發(fā)展,手機用戶數(shù)量不斷增加,用戶對APP軟件的需求也在不斷增加。Android是目前智能手機等設(shè)備常用的一種操作系統(tǒng),該系統(tǒng)靈活友好的操作界面深受用戶喜愛。本APP項目的主要目的是打造一款基于Android的方便快捷、功能完善的手機天氣預(yù)報系統(tǒng)。
Android;天氣預(yù)報;APP
現(xiàn)如今在人們的生活當(dāng)中,手機已經(jīng)成為不可或缺的一部分了,特別是當(dāng)手機從原始的只能接打電話發(fā)短信的基本功能更新擴展到現(xiàn)在的智能手機,其越來越被人們所依賴。隨著手機的發(fā)展以及用戶的需求增加,越來越多的手機功能被開發(fā)出來并投入應(yīng)用。Android是以Linux為內(nèi)核的操作系統(tǒng)和軟件平臺,它早期及之后的開發(fā)分別是由Google和開放手機聯(lián)盟聯(lián)合開發(fā),它的基本架構(gòu)分為4個層次,分別為:底層、系統(tǒng)運行庫層、應(yīng)用程序框架層和應(yīng)用程序?qū)印?/p>
Android是目前智能手機等設(shè)備常用的一種操作系統(tǒng),Android的編程語言為Java,它的變化從接口一直到功能是層出不窮的。Android的基礎(chǔ)多媒體框架是Opencore。Android具有藍牙,WiFi以及通過蜂窩(cellular)連接等多種無線傳輸?shù)倪x項。Android的軟件棧還可以提供通過加速計及GPS來確定位置的信息。Android的多媒體數(shù)據(jù)庫采用SQLite數(shù)據(jù)庫系統(tǒng)。Android系統(tǒng)中的開發(fā)應(yīng)用程序都是使用Dalvik虛擬機實現(xiàn)的,并且多以Java形式實現(xiàn)。使用Java虛擬機可以實現(xiàn)跨平臺運行程序的功能,Dalvik是Java虛擬機中比較常見的一種虛擬機,它具備完善的硬件結(jié)構(gòu),并且具有具體的操作指令,它的核心內(nèi)容庫大多由C語言實現(xiàn)。每一個Android的應(yīng)用程序總是對應(yīng)著一個Dalvik實例,并且它是通過Dalvik虛擬機的解釋實現(xiàn)的。
2.1研究方法
開發(fā)者想要做出美觀、直接的用戶界面,就要使用Android系統(tǒng)的4個組件,它們分別是:活動、服務(wù)、廣播和內(nèi)容提供者;在進行頁面設(shè)計時最好結(jié)合使用LinearLayout,RelativeLayout,TableLayout,F(xiàn)rameLayout等組件進行格式上的布局;同時,為了滿足個性化的需求,開發(fā)者還可以將Fragment與ViewPager搭配使用,充分利用它們完善的功能。天氣信息數(shù)據(jù)方面:可以利用HTTP通信協(xié)議請求天氣預(yù)報數(shù)據(jù)接口,請求接口時要用異步線程的操作,并使用Android 的DOM解析XML技術(shù)解析天氣相關(guān)數(shù)據(jù)。對于數(shù)據(jù)庫的設(shè)計可以使用DBManager和DBHelper結(jié)合構(gòu)建SQLite數(shù)據(jù)庫并完成數(shù)據(jù)表中數(shù)據(jù)的增加、刪除、修改、查詢等操作。
2.2系統(tǒng)目標(biāo)
在眾多的APP軟件中,一款方便快捷、時尚好用的天氣預(yù)報軟件是大多數(shù)用戶所需要的。本APP的設(shè)計目標(biāo)就是開發(fā)一款為大眾所喜愛的天氣軟件。這其中包括可以通過選擇要查詢的城市來查看所選城市近一個星期的天氣情況,天氣情況包括風(fēng)力、溫度、溫度變化曲線等信息。在為用戶提供天氣信息的同時也會根據(jù)天氣的變化來顯示溫馨提示內(nèi)容。用戶不僅能了解到天氣情況,也可以以短信的形式將天氣情況發(fā)送給他人。本款A(yù)PP完全滿足了用戶的需求,極大地方便了用戶的出行。
天氣類的APP,是一個非常獨特的分類,因為蘋果把50萬應(yīng)用分為21個類,而天氣APP是獨立于工具類APP的,并且能和游戲這樣的大類平起平坐,可見其重要性。一個天氣類的APP首先應(yīng)該能夠為用戶提供準(zhǔn)確的實時天氣信息,而且天氣信息應(yīng)該盡量詳細而直觀。最好能將天氣變化的曲線直觀地展示在用戶的面前,并且獲取天氣信息的操作應(yīng)該相對于用戶隱藏,并盡量減少展示界面的不友好,避免發(fā)生卡頓現(xiàn)象,提高流暢性。并可以在顯示天氣的基本功能的基礎(chǔ)上添加一些擴展功能,因為有些時候用戶會提前查詢天氣信息,并根據(jù)天氣信息來調(diào)整自己的行程安排。在這里,系統(tǒng)應(yīng)該將獲取的天氣信息進行整理并提供給用戶,讓用戶可以做一些簡單的操作如設(shè)置提醒,分享天氣信息等。此外為了滿足用戶對多個城市天氣信息的了解和需求,設(shè)置多個關(guān)注城市是必須的。結(jié)合用戶需求,天氣預(yù)報系統(tǒng)應(yīng)該具有以下功能。
(1)實時天氣查詢:可以顯示用戶所選擇城市的實時天氣信息和近期天氣情況,包括溫度、濕度、風(fēng)力等。
(2)城市管理:為用戶實現(xiàn)了添加、刪除、更改等顯示天氣信息城市的功能。
(3)溫度曲線:將城市近期的溫度整理繪制成可視、直觀的溫度曲線供用戶查看。
(4)出行計劃:方便用戶建立備忘錄,在相應(yīng)時間點設(shè)置出行提醒。
(5)短信分享:主要用于將天氣預(yù)報中讀取的當(dāng)日天氣情況等重要信息,以短信的方式發(fā)送給他人。
4.1系統(tǒng)總體功能設(shè)計
本天氣預(yù)報系統(tǒng)具有五大功能:實況天氣、城市管理、溫度曲線、出行計劃和分享天氣。
實況天氣包括高溫、低溫、風(fēng)力風(fēng)向、天氣狀況近期天氣情況等;城市管理可以對所在城市進行修改、添加關(guān)注城市、刪除城市等;溫度曲線功能整理了所添加的當(dāng)前城市近期溫度變換情況并形成溫度曲線;設(shè)置出行計劃功能給用戶提供簡捷記錄出行,設(shè)置定時提醒等便利;分享天氣功能可以讓用戶將天氣信息分享給通信錄中的其他人。系統(tǒng)結(jié)構(gòu)如圖1所示。

圖1 系統(tǒng)結(jié)構(gòu)
4.2數(shù)據(jù)庫設(shè)計
天氣預(yù)報系統(tǒng)從網(wǎng)絡(luò)獲取的天氣數(shù)據(jù)并非是一次性的,并且網(wǎng)絡(luò)天氣數(shù)據(jù)有更新時間間隔。所以需要設(shè)計一個數(shù)據(jù)庫對獲取的天氣數(shù)據(jù)進行保存。本天氣預(yù)報系統(tǒng)使用SQLite數(shù)據(jù)庫對天氣數(shù)據(jù)進行管理包括:增加、更新、刪除等操作。通過數(shù)據(jù)庫對數(shù)據(jù)進行管理,提高了數(shù)據(jù)的復(fù)用性,減少了不必要的聯(lián)網(wǎng)操作,同時提高了系統(tǒng)界面的流暢性。
依據(jù)軟件工程數(shù)據(jù)設(shè)計規(guī)范和系統(tǒng)E-R圖(見圖2),天氣預(yù)報系統(tǒng)的數(shù)據(jù)邏輯模型包含兩個數(shù)據(jù)庫文件(city.db和mysql.db)共4個基本表。
城市表(City):id(主鍵)、城市名(cityname)、首字母(namesort)、城市碼(cityid)。
關(guān)注城市表(mycity_1):p_id(主鍵)、城市名(cityname)、城市碼(cityid)、狀態(tài)碼(citytap)。
計劃表(myplan_1):p_id(主鍵)、日期(date)、時間(time)、標(biāo)題(title)、內(nèi)容(content)。
天氣數(shù)據(jù)表(myweather_1):w_id(主鍵)、日期、周幾、警示語、城市名、更新時間,實時溫度、實時天氣情況、近期溫度(未來5天)、近期天氣狀況(未來5天)、昨日溫度、昨日天氣狀況。

圖2 系統(tǒng)E-R圖
綜上所述天氣預(yù)報系統(tǒng)所有預(yù)期功能都完整地實現(xiàn),并且達到了預(yù)期的運行效果。當(dāng)然不是所有工作都能按照初期設(shè)計實現(xiàn),為了優(yōu)化系統(tǒng)性能,達到更好的運行狀態(tài),在系統(tǒng)實現(xiàn)過程中對一些實現(xiàn)方法作了修改和補充。比如:在解析xml數(shù)據(jù)方法選擇時并沒有使用SAX解析方式,雖然該方法更適合手機應(yīng)用,但因為本系統(tǒng)所使用的接口數(shù)據(jù)并不復(fù)雜,所以選用簡單的DOM解析方式更為方便。
Design of weather forecast APP based on Android system
Liu Ling
(Liaoning Cadre College of Public Security and Administration of Justice, Shenyang 110161, China)
In the mobile Internet era, with the rapid development of mobile devices and the increasing number of mobile phone users, the needs of users towards software APP are also increasing. Android is a kind of commonly used operating system in current smart phones and other devices. The fexible and friendly operation page are popular with users. The main purpose of this APP project is to build a convenient and quick weather forecasting system with perfect function based on Android.
Android; weather forecast; APP
劉玲(1978— ),女,遼寧本溪。