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

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

圖2 系統E-R圖
綜上所述天氣預報系統所有預期功能都完整地實現,并且達到了預期的運行效果。當然不是所有工作都能按照初期設計實現,為了優化系統性能,達到更好的運行狀態,在系統實現過程中對一些實現方法作了修改和補充。比如:在解析xml數據方法選擇時并沒有使用SAX解析方式,雖然該方法更適合手機應用,但因為本系統所使用的接口數據并不復雜,所以選用簡單的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— ),女,遼寧本溪。