Android天气预报设计
——嵌入式軟件開(kāi)發(fā)
?
名字 | 功能模塊 | 代碼行數(shù) | 備注 |
謝燦輝 | Widget | 200 | 桌面小程序 |
李楊敏 | GPS定位,百度地圖API | 100-150 | 獲取當(dāng)前所在城市 |
丁小芳 | 城市選擇Activity,天氣API獲取天氣 | 100-200 | 包括數(shù)據(jù)庫(kù)交互 |
?
本軟件是一個(gè)天氣類(lèi)應(yīng)用軟件,帶有widget,啟動(dòng)軟件后可以定位所在城市或手動(dòng)設(shè)置后實(shí)現(xiàn)天氣查詢,PM2.5查詢,7天氣溫曲線,我們可從圖片和文字中顯現(xiàn)最近一周天氣預(yù)報(bào)和相關(guān)溫馨提示等。
?
這些數(shù)據(jù)的提供都通過(guò)后臺(tái)服務(wù)獲取,而后臺(tái)服務(wù)會(huì)在一定時(shí)間間隔通過(guò)API獲取并存儲(chǔ)在數(shù)據(jù)庫(kù)當(dāng)中。
從以上可看出這個(gè)軟件的主要功能有:
①啟動(dòng)APP Widget應(yīng)用程序;
②設(shè)置界面,設(shè)置所要顯示天氣預(yù)報(bào)的城市;
③詳細(xì)界面,通過(guò)圖片文字顯示當(dāng)前一周的天氣預(yù)報(bào)、溫馨提示及氣溫曲線變化;
④顯示界面,通過(guò)圖片文字顯示時(shí)間、溫度等;
④分享界面
?
系統(tǒng)設(shè)計(jì)
?
1.天氣預(yù)報(bào)的顯示
為了用戶的體驗(yàn)更加便捷,我們將軟件作為一個(gè)小插件定在了手機(jī)主面上,調(diào)用的數(shù)據(jù)使用在桌面上顯示。而在用戶界面上使用了(AppWidget)框架結(jié)構(gòu),提供直觀的交互操作。
?
天氣Widget開(kāi)發(fā)步驟:
①設(shè)計(jì)Widget的布局
Res/layout/widget.xml res/drawable/widget_background.xml
創(chuàng)建Wiget的第一個(gè)步驟就是設(shè)計(jì)并實(shí)現(xiàn)Wiget的組件布局,就是Widget和用戶交互的界面。Widget與Activity的布局設(shè)計(jì)和實(shí)現(xiàn)方法十分相似,都是在/res/layout目錄中建立XML的布局資源文件
?
②定義Widget的元數(shù)據(jù)
Widget元數(shù)據(jù)文件保存在/res/xml/weather_widget_4x2.xml
③實(shí)現(xiàn)Widget的添加、刪除、更新
實(shí)現(xiàn)Widget的添加、刪除、更新等過(guò)程,主要是通過(guò)AppWidgetProvider類(lèi)來(lái)實(shí)現(xiàn),這個(gè)類(lèi)本身繼承BroadcastReceiver,用來(lái)接收與Widget相關(guān)的更新、刪除、生效等消息。當(dāng)AppWidgetProvider接收到這些消息以后,會(huì)分別調(diào)用相應(yīng)的事件處理函數(shù)。
事件 | 調(diào)用函數(shù) | 說(shuō)明 |
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
要讓W(xué)idget生效還需在AndroidManifest.xml文件中進(jìn)行聲明,主要在該文件中聲明AppWidgetProvider類(lèi)
?
1.利用API獲取天氣數(shù)據(jù),數(shù)據(jù)獲取地址:http://sixweather.3gpk.net/SixWeather.aspx?city=%E5%B9%BF%E5%B7%9E
?
獲取天氣的關(guān)鍵代碼:
Com.yz.util/GetWeatherTask.java
向天氣接口發(fā)送HTTP GET 請(qǐng)求
服務(wù)器返回XML文檔,包含天氣內(nèi)容
?
?
代碼:請(qǐng)求定位權(quán)限
百度地圖API
設(shè)置城市(數(shù)據(jù)庫(kù)讀取過(guò)程)
Com.yz.app
Com.yz.db
1. 頁(yè)面實(shí)現(xiàn)布局管理
根據(jù)需求分析可知,該應(yīng)用程序應(yīng)包含四個(gè)主要的用戶界面。顯示界面中,應(yīng)包含城市、溫度和時(shí)間等信息;詳細(xì)界面中,又包含了三個(gè)界面,分別為天氣中心、溫馨提示和氣溫曲線,這其中包含了當(dāng)前以及后六天的天氣預(yù)報(bào),氣溫走勢(shì)等信息;設(shè)置界面,主要是為了用戶手動(dòng)查詢所需城市天氣預(yù)報(bào);分享界面提供了將天氣預(yù)報(bào)信息分享出去的功能。
圖片:
/res/layout/activit_weather_center.xml
?
分享途徑 /assets/platforms.xml
?
2. 后臺(tái)服務(wù)(喚醒設(shè)備時(shí)候更新)
City.db->獲取城市->天氣API獲取天氣->處理->顯示
?
六、程序模塊設(shè)計(jì)
從這功能需求我們將整個(gè)程序分為了四個(gè)功能模塊:
①程序啟動(dòng)
②用戶界面
③后臺(tái)服務(wù)
④數(shù)據(jù)庫(kù)適配器
轉(zhuǎn)載于:https://www.cnblogs.com/pdoge/p/7691927.html
總結(jié)
以上是生活随笔為你收集整理的Android天气预报设计的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 004-JQuery属性
- 下一篇: Android几秒后自动关闭dialog