?

基于Android系統開發天氣預報APP的實現

2016-11-29 04:02嚴衛鵬湖南工業大學計算與通信學院網絡工程湖南株洲412000
人間 2016年16期
關鍵詞:軟件開發天氣預報

嚴衛鵬(湖南工業大學 計算與通信學院 網絡工程,湖南 株洲 412000)

?

基于Android系統開發天氣預報APP的實現

嚴衛鵬
(湖南工業大學 計算與通信學院 網絡工程,湖南 株洲412000)

摘要:隨著智能手機的迅速普及,人們在生活中獲取信息的一個主要來源就是智能手機應用。本項目主要是對天氣查詢管理的設計與實現,此項目采用了Android 開源系統技術,它主要是通過文字與圖片的形式,來比較直觀地顯示出城市當天和未來幾天的天氣信息,在數據交換上使用了JSON格式,降低了流量使用量并且提升了速度,方便人們的生活,有一定的實用性。

關鍵詞:Android;天氣預報;軟件開發;APP

一、引言

目前,利用手機app 獲取天氣預報信息正在成為主流的天氣信息獲取方式。所以越來越多的開發人員致力于開發簡單、美觀且實用的手機天氣預報app[1]。

JSON是一種輕量級的數據交換格式。JSON 數據格式比較簡單,易于讀寫,占用帶寬小,服務器端和客戶端的解析較為方便,大大簡化了服務器端和客戶端的代碼開發量, 使得系統易于維護[2-4]。

該應用程序設計目的是實現基于Android系統開發天氣預報APP,實現將各種天氣查詢服務功能集成起來的信息系統,既可以節省時間,又可以實現個性化的服務,幫助用戶可以隨時隨地查詢天氣信息及天氣變化情況,讓生活更加舒適和方便。

二、天氣預報系統主要功能模塊介紹

1.啟動程序后可以通過自動定位或手動定位城市,或者根據上一次選擇的城市來進行城市天氣信息的查詢;2.天氣信息通過Service從聚合數據網進行獲取相關的JSON數據得到,還可以按一定的時間間隔來自動刷新獲取最新的天氣信息;3.切換城市可以進入城市選擇界面快捷選擇相關的城市或者搜索城市;4.應用可以后臺按一定時間間隔來自動刷新天氣信息;5.使用AppWidget實現在手機桌面上顯示指定城市的當前天氣信息;6.使用Notification實現天氣預警通知;7.可以對城市進行本地管理,可以手動添加常用的城市名稱,或者刪除它;8.可以將當前城市的天氣信息以界面圖片的形式進行分享。

三、天氣預報系統主要功能模塊的設計與實現

基于Android系統的天氣預報系統的主要是從網絡獲取JSON數據并通過JSON解析信息文本獲取城市名稱,以及城市的天氣信息并顯示在界面上,并對關注的城市進行管理。

(一)用戶界面UI的實現。用戶界面上的設計主要分為兩大塊:

首先是主界面,主界面用來顯示城市名以及該城市的天氣信息,分為當前城市名及天氣信息區域,還有定位當前城市模塊、分享當前界面模塊以及使用Android 5.0之后自帶的SwipeRefreshLayout(下拉刷新)模塊和DrawerLayout側滑模塊。

然后是城市列表界面,城市列表界面主要分為熱門城市模塊、城市列表模塊、以及輸入名字查詢城市模塊。

(二)定位當前位置所在的城市。根據我們這個應用程序的需求在這里我們選擇network進行定位,因為我們只需要定位當前所在的城市即可。network定位快,只要數據連接成功,一般都可以成功定位,所以此刻使用network進行定位是最好的選擇。

(三)在UI上顯示當前城市的天氣信息。當我們獲取到城市名稱后,就可以直接利用聚合數據SDK提供的API方法通過service進行網絡訪問來獲取JSON格式的天氣信息數據,對獲取的數據進行JSON解析并在主界面顯示相關的天氣信息。

(四)在獲取城市列表數據及解析。有熱門城市模塊和城市列表模塊。熱門城市是xml文件中已經寫好的。但城市列表模塊是通過網絡請求得到支持查詢的城市列表JSON數據并對其進行JSON解析,將所有城市名稱返回到List中,最后對GridView添加適配器顯示城市列表。也可以手動輸入城市名稱或者城市名稱所包含的字符進行城市搜索。

(五)天氣界面的分享。在主界面可以以圖片的形式將當前城市的天氣信息進行分享。這里使用的是一個第三方集成的ShareSDK,使用它極大的增加了我們開發的效率。注意,使用ShareSDK需要在官網上申請一個開發者使用的APPKey,并且要按照官網給的使用文檔進行一些相關的配置才可以正確使用。

(六)桌面小工具AppWidget。AppWidget是一個可以在手機桌面上顯示的小工具界面。實現使用AppWidget在手機桌面上顯示相關的天氣信息的步驟如下:

1.配置AppWidget的屬性。

2.創建AppWidget的xml布局文件。

3.實現AppWidgetProvider。

4.處理AppWidget的后臺任務。在AndroidManifest文件中注冊AppWidget與相關的服務。

(七)天氣的預警通知。實現發送天氣通知的步驟是這樣的,首先要使用getSystemService()這個方法可以獲取系統的NotificationManager服務;其次創建一個Notification對象,設置其相關的屬性,并為它設置事件信息;最后再通過NotificationManager類的norify()方法來發送相應的通知即可完成。

四、總結

Android由于其開放性與市場占有率,受到開發者的十分喜歡。本系統綜合現在有的天氣預報APP的優缺點,將一些資源文件內置于應用之中,并且在數據交換上采用JSON格式進行數據的交換,減少了流量的使用,提高了響應速度。在分享功能上使用當前很受歡迎的ShareSDK極大地減少了代碼量,優化了應用程序的處理速度。

本文提供的基于Android系統開發天氣預報APP方案具有高效,實用性,并已在多臺真機上進行調試和運行,為讀者在 Android平臺下作應用程序開發提供一種參考。

參考文獻:

[1]熊傳玉,徐尤華. Android系統下基于JSON的天氣預報應用的實現[J].微型電腦應用,2016,01.

[2]雷映喜.XML與JSON在WEB中對數據封裝解析的對 比[J].價值工程,2013,9:210.

[3]龔成瑩.基于 JSON 的 Android 移動終端與 PHP 及 MySQL 數據通信[J].工業儀表與自動化裝置,2013,1: 63.

[4]權重民.利用 JSON 實現 Android 高效、安全訪問遠程 數據庫的一種方式[J].韶關學院學報.2011,12:16.同.

中圖分類號:G31

文獻標識碼:A

文章編號:1671-864X(2016)06-0292-01

作者簡介:嚴衛鵬,男(1994-09)。民族:漢族。籍貫:湖南婁底。學歷:本科。研究方向:軟件開發。

猜你喜歡
軟件開發天氣預報
蟻先生的天氣預報
測不準的天氣預報
如果
信息安全環境下的計算機軟件開發研究
核電廠定期試驗管理軟件開發
FPGA軟件開發過程中編碼規范的作用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合