Android天氣預報設計

來源:互聯網
上載者:User

標籤:小程式   而在   form   繼承   href   資料   isa   擷取   開發   

——嵌入式軟體開發

 

名字

功能模組

程式碼數

備忘

謝燦輝

Widget

200

案頭小程式

李楊敏

GPS定位,百度地圖API

100-150

擷取當前所在城市

丁小芳

城市選擇Activity,天氣API擷取天氣

100-200

包括資料庫互動

 

本軟體是一個天氣類應用軟體,帶有widget,啟動軟體後可以定位所在城市或手動設定後實現天氣查詢,PM2.5查詢,7天氣溫曲線,我們可從圖片和文字中顯現最近一周天氣預報和相關溫馨提示等。

 

這些資料的提供都通過後台服務擷取,而後台服務會在一定時間間隔通過API擷取並儲存在資料庫當中。

從以上可看出這個軟體的主要功能有:

①啟動APP Widget應用程式;

②設定介面,設定所要顯示天氣預報的城市;

③詳細介面,通過圖片文字顯示當前一周的天氣預報、溫馨提示及氣溫曲線變化;

④顯示介面,通過圖片文字顯示時間、溫度等;

④分享介面

 

系統設計

 

  1. 模組

    1.天氣預報的顯示

    為了使用者的體驗更加便捷,我們將軟體作為一個小外掛程式定在了手機主面上,調用的資料使用在案頭上顯示。而在使用者介面上使用了(AppWidget)架構結構,提供直觀的互動操作。

     

    天氣Widget開發步驟:

    ①設計Widget的布局

    Res/layout/widget.xml res/drawable/widget_background.xml

    建立Wiget的第一個步驟就是設計並實現Wiget的組件布局,就是Widget和使用者互動的介面。Widget與Activity的布局設計和實現方法十分相似,都是在/res/layout目錄中建立XML的布局資源檔

     

    ②定義Widget的中繼資料

    Widget中繼資料檔案儲存在/res/xml/weather_widget_4x2.xml

    ③實現Widget的添加、刪除、更新

    實現Widget的添加、刪除、更新等過程,主要是通過AppWidgetProvider類來實現,這個類本身繼承BroadcastReceiver,用來接收與Widget相關的更新、刪除、生效等訊息。當AppWidgetProvider接收到這些訊息以後,會分別調用相應的事件處理函數。

    事件

    調用函數

    說明

    ACTION_APPWIDGET_UPDATE

    OnUpdate()

    Widget更新

    ACTION_APPWIDGET_DELETED

    OnDelete()

    Widget刪除

    ACTION_APPWIDGET_ENABLED

    onEnabled()

    Widget生效

    ACTION_APPWIDGET_DISABLED

    onDisabled()

    Widget失效

    ④在AndroidManifest.xml檔案中聲明Widget

    /AndroidManifest.xml

    要讓Widget生效還需在AndroidManifest.xml檔案中進行聲明,主要在該檔案中聲明AppWidgetProvider類

     

  2. 資料互動

    1.利用API擷取天氣資料,資料擷取地址:http://sixweather.3gpk.net/SixWeather.aspx?city=%E5%B9%BF%E5%B7%9E

     

    擷取天氣的關鍵代碼:

    Com.yz.util/GetWeatherTask.java

    向天氣介面發送HTTP GET 請求

    伺服器返回XML文檔,包含天氣內容

     

  3. 自定定位城市

     

    代碼:請求定位許可權

    百度地圖API

  4. 使用者互動

    設定城市(資料庫讀取過程)

    Com.yz.app

    Com.yz.db

  5. 系統管理

    1. 頁面實現布局管理

    根據需求分析可知,該應用程式應包含四個主要的使用者介面。顯示介面中,應包含城市、溫度和時間等資訊;詳細介面中,又包含了三個介面,分別為天氣中心、溫馨提示和氣溫曲線,這其中包含了當前以及後六天的天氣預報,氣溫走勢等資訊;設定介面,主要是為了使用者手動查詢所需城市天氣預報;分享介面提供了將天氣預報資訊分享出去的功能。

    圖片:

    /res/layout/activit_weather_center.xml

     

    分享途徑 /assets/platforms.xml

     

    2. 後台服務(喚醒裝置時候更新)

  6. 資料庫設計與實現(手工指定地點情況)

    City.db->擷取城市->天氣API擷取天氣->處理->顯示

     

    六、程式模組設計

    從這功能需求我們將整個程式分為了四個功能模組:

    ①程式啟動

    ②使用者介面

    ③後台服務

    ④資料庫適配器

Android天氣預報設計

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.