導航:首頁 > 操作系統 > android天氣預報項目

android天氣預報項目

發布時間:2022-05-19 19:36:37

android 如何實現獲取天氣預報信息

方法步驟(以安卓5.0為例)

一、打開GPS

九、提示

1.適時刷新天氣需要開啟GPS定位。

2.在沒有WIFI的地方刷新天氣需要消耗一定的流量,刷新頻率越高,消耗流量越多。

Ⅱ android怎樣使用天氣預報介面 實現天氣預報

使用搜索引擎可以得到很多的天氣預報介面,這里以某個api為例

http://wthrcdn.etouch.cn/WeatherApi

參數為city=城市名稱

嘗試獲取南昌的天氣預報

http://wthrcdn.etouch.cn/WeatherApi?city=南昌


得到下面xml數據

java"><?xmlversion="1.0"encoding="utf-8"?>

<resp>
<city>南昌</city>
<updatetime>16:55</updatetime>
<wen>5</wen>
<fengli>3級</fengli>
<shi>90%</shi>
<fengxiang>北風</fengxiang>
<sunrise_1>06:54</sunrise_1>
<sunset_1>17:19</sunset_1>
<sunrise_2/>
<sunset_2/>
<environment>
<aqi>26</aqi>
<pm25>13</pm25>
<suggest>各類人群可自由活動</suggest>
<quality>優</quality>
<MajorPollutants/>
<o3>44</o3>
<co>1</co>
<pm10>14</pm10>
<so2>4</so2>
<no2>27</no2>
<time>16:00:00</time>
</environment>
<yesterday>
<date_1>4日星期五</date_1>
<high_1>高溫11℃</high_1>
<low_1>低溫7℃</low_1>
<day_1>
<type_1>陰</type_1>
<fx_1>無持續風向</fx_1>
<fl_1>微風</fl_1>
</day_1>
<night_1>
<type_1>小到中雨</type_1>
<fx_1>北風</fx_1>
<fl_1>3-4級</fl_1>
</night_1>
</yesterday>
<forecast>
<weather>
<date>5日星期六</date>
<high>高溫7℃</high>
<low>低溫5℃</low>
<day>
<type>中到大雨</type>
<fengxiang>無持續風向</fengxiang>
<fengli>微風級</fengli>
</day>
<night>
<type>小到中雨</type>
<fengxiang>無持續風向</fengxiang>
<fengli>微風級</fengli>
</night>
</weather>
<weather>
<date>6日星期天</date>
<high>高溫10℃</high>
<low>低溫5℃</low>
<day>
<type>陰</type>
<fengxiang>無持續風向</fengxiang>
<fengli>微風級</fengli>
</day>
<night>
<type>多雲</type>
<fengxiang>無持續風向</fengxiang>
<fengli>微風級</fengli>
</night>
</weather>
<weather>
<date>7日星期一</date>
<high>高溫13℃</high>
<low>低溫6℃</low>
<day>
<type>多雲</type>
<fengxiang>無持續風向</fengxiang>
<fengli>微風級</fengli>
</day>
<night>
<type>晴</type>
<fengxiang>無持續風向</fengxiang>
<fengli>微風級</fengli>
</night>
</weather>
<weather>
<date>8日星期二</date>
<high>高溫13℃</high>
<low>低溫7℃</low>
<day>
<type>晴</type>
<fengxiang>無持續風向</fengxiang>
<fengli>微風級</fengli>
</day>
<night>
<type>多雲</type>
<fengxiang>無持續風向</fengxiang>
<fengli>微風級</fengli>
</night>
</weather>
<weather>
<date>9日星期三</date>
<high>高溫13℃</high>
<low>低溫10℃</low>
<day>
<type>小雨</type>
<fengxiang>無持續風向</fengxiang>
<fengli>微風級</fengli>
</day>
<night>
<type>小雨</type>
<fengxiang>無持續風向</fengxiang>
<fengli>微風級</fengli>
</night>
</weather>
</forecast>
<shus>
<shu>
<name>晨練指數</name>
<value>不宜</value>
<detail>有較強降水,請避免戶外晨練,建議在室內做適當鍛煉,保持身體健康。</detail>
</shu>
<shu>
<name>舒適度</name>
<value>較舒適</value>
<detail>白天有雨,人們會感到有些涼意,但大部分人完全可以接受。</detail>
</shu>
<shu>
<name>穿衣指數</name>
<value>較冷</value>
<detail>建議著厚外套加毛衣等服裝。年老體弱者宜著大衣、呢外套加羊毛衫。</detail>
</shu>
<shu>
<name>感冒指數</name>
<value>極易發</value>
<detail>將有一次強降溫過程,天氣寒冷,且空氣濕度較大,極易發生感冒,請特別注意增加衣服保暖防寒。</detail>
</shu>
<shu>
<name>晾曬指數</name>
<value>不宜</value>
<detail>有較強降水,不適宜晾曬。若需要晾曬,請在室內准備出充足的空間。</detail>
</shu>
<shu>
<name>旅遊指數</name>
<value>較不宜</value>
<detail>天氣稍涼,有微風,同時有有較強降水,會給出行產生很多麻煩,建議好還是多選擇在室內活動!。</detail>
</shu>
<shu>
<name>紫外線強度</name>
<value>最弱</value>
<detail>屬弱紫外線輻射天氣,無需特別防護。若長期在戶外,建議塗擦SPF在8-12之間的防曬護膚品。</detail>
</shu>
<shu>
<name>洗車指數</name>
<value>不宜</value>
<detail>不宜洗車,未來24小時內有雨,如果在此期間洗車,雨水和路上的泥水可能會再次弄臟您的愛車。</detail>
</shu>
<shu>
<name>運動指數</name>
<value>較不宜</value>
<detail>有較強降水,建議您選擇在室內進行健身休閑運動。</detail>
</shu>
<shu>
<name>約會指數</name>
<value>不適宜</value>
<detail>較強降水天氣會給室外約會增添許多麻煩,盡量不要外出約會,最好在室內促膝談心。</detail>
</shu>
<shu>
<name>雨傘指數</name>
<value>帶傘</value>
<detail>有較強降水,您在外出的時候一定要帶雨傘,以免被雨水淋濕。</detail>
</shu>
</shus>
</resp>


得到數據後使用XML解析數據即可,最好是建立一個實體類來存儲數據

下面是使用DOM方式解析部分數據代碼

DocumentBuilderbuilder=DocumentBuilderFactory.newInstance().newDocumentBuilder();
//is是網路連接得到的輸入流
Documentdoc=builder.parse(is);
if(doc==null)thrownewException();

Elementelement=doc.getDocumentElement();
NodeListchildList=element.getChildNodes();
for(inti=0;i<childList.getLength();i++){
Elemente=(Element)childList.item(i);
Stringtag=e.getTagName();
Stringtext=e.getTextContent();
if("city".equals(tag)){
//城市
}elseif("updatetime".equals(tag)){
//更新時間
}elseif("wen".equals(tag)){
//即時溫度
}elseif("fengli".equals(tag)){
//風力
}elseif("shi".equals(tag)){
//濕度
}elseif("fengxiang".equals(tag)){
//風向
}
}

Ⅲ 如何自己動手做一個android天氣預報的app

一個Android天氣預報要用到的代碼文件,可顯示操作菜單,顯示未來四天天氣、將全國城市列表寫入資料庫、初始化數據解析類,界面控制項,消息接收器Handler、線程消息接收器、左側菜單選擇事件監聽、後退按鈕監聽等,代碼為:

227
if(mycitys.size()==1){

228
showToast("至少要保留一個城市");

229
}else{

230
mycitys.remove(position);

231
writeMyCitys();

232
sAdapter.notifyDataSetChanged();

233
currCityId=mycitys.get(0).get("cityId");

234
changeSearchState();

235
}

236
}

237
});

238
builder.setNegativeButton("取 消",

239
new DialogInterface.OnClickListener() {

240
public void onClick(DialogInterface dialog, int which) {

241
dialog.dismiss();

242
}

243
});

244
builder.show();

245
return false;

246
}

247
//
監聽後退按鈕

248
@Override

249
public boolean
onKeyDown(int
keyCode, KeyEvent event) {

250
if (keyCode ==
KeyEvent.KEYCODE_BACK) {

251
// 如果當前menu沒有顯示

252
if (!isBack) {

253
showToast("再按一次退出");

254
downTime = event.getDownTime();

255
isBack = true;

256
return true;

257
} else {

258
if (event.getDownTime() -
downTime <= 2000) {

259
AppManager.getAppManager().AppExit(Weather.this);

260
} else {

261
showToast("再按一次退出");

262
downTime = event.getDownTime();

263
return true;

264
}

265
}

266
}

267
return super.onKeyDown(keyCode, event);

268
}

269
@Override

270
protected void
onDestroy() {

271
if(mVibrator!=null){

272
mVibrator.cancel();

273
}

274
super.onDestroy();

275
}

276
}

Ⅳ 基於android的天氣預報系統

用你手機自帶的「應用商店」,搜索天氣,出來的都是適配你手機系統的天氣預報app。
當然,你的手機是安卓的,那就是適配安卓系統的了。

Ⅳ 有天氣預報的Android項目嗎

無法運行是不是報什麼錯,還是因為無法訪問提供的介面,你可以貼出錯誤看看。

Ⅵ android項目天氣預報出現閃退這是系統報錯

java.lang.NoClassDefFounError 找不到對應的class文件, 應該是項目少jar包了, 在你的程序的FlrstActivity.java.199行發生的錯誤

Ⅶ android項目跳轉到系統天氣預報界面

系統天氣預報應該是屬於手機廠商定製系統的時候內嵌的app,屬於系統級app,只要知道包名,就可以用intent跳轉啊,你可以查查你的那個牌子的手機里內置天氣預報app的包名

Ⅷ android 做一個天氣預報的步驟

安卓編程設計很多方面,非常復雜,需要系統的學習才可以,這里以一個簡單的天氣預報app編程為例:
public class WebServiceUtil
{
// 定義Web Service的命名空間
static final String SERVICE_NS = "http://WebXml.com.cn/";
// 定義Web Service提供服務的URL
static final String SERVICE_URL = "http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx";
public static List getProvinceList()
{
// 需要調用的方法名(獲得本天氣預報Web Services支持的洲、國內外省份和城市信息)
String methodName = "getRegionProvince";
// 創建HttpTransportSE傳輸對象
HttpTransportSE httpTranstation = new HttpTransportSE(SERVICE_URL);
httpTranstation.debug = true;
// 使用SOAP1.1協議創建Envelop對象
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
// 實例化SoapObject對象
SoapObject soapObject = new SoapObject(SERVICE_NS, methodName);
envelope.bodyOut = soapObject;
// 設置與.Net提供的Web Service保持較好的兼容性
envelope.dotNet = true;
try
{
// 調用Web Service
httpTranstation.call(SERVICE_NS + methodName, envelope);
if (envelope.getResponse() != null)
{
// 獲取伺服器響應返回的SOAP消息
SoapObject result = (SoapObject) envelope.bodyIn;
SoapObject detail = (SoapObject) result.getProperty(methodName
+ "Result");
// 解析伺服器響應的SOAP消息。
return parseProvinceOrCity(detail);
}
} catch (Exception e)
{
e.printStackTrace();
}
return null;
}
public static List getCityListByProvince(String province)
{
// 需要調用的方法名(獲得本天氣預報Web Services支持的城市信息,根據省份查詢城市集合:帶參數)
String methodName = "getSupportCityString";
HttpTransportSE httpTranstation = new HttpTransportSE(SERVICE_URL);
httpTranstation.debug = true;
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
SoapObject soapObject = new SoapObject(SERVICE_NS, methodName);
soapObject.addProperty("theRegionCode", province);
envelope.bodyOut = soapObject;
envelope.dotNet = true;
try
{
// 調用Web Service
httpTranstation.call(SERVICE_NS + methodName, envelope);
if (envelope.getResponse() != null)
{
// 獲取伺服器響應返回的SOAP消息
SoapObject result = (SoapObject) envelope.bodyIn;
SoapObject detail = (SoapObject) result.getProperty(methodName
+ "Result");
// 解析伺服器響應的SOAP消息。
return parseProvinceOrCity(detail);
}
} catch (Exception e)
{
e.printStackTrace();
}
return null;
}
private static List parseProvinceOrCity(SoapObject detail)
{
ArrayList result = new ArrayList();
for (int i = 0; i < detail.getPropertyCount(); i++)
{
String str = detail.getProperty(i).toString();
// 解析出每個省份
result.add(str.split(",")[0]);
}
return result;
}
public static SoapObject getWeatherByCity(String cityName)
{
// 根據城市或地區名稱查詢獲得未來三天內天氣情況、現在的天氣實況、天氣和生活指數
String methodName = "getWeather";
HttpTransportSE httpTranstation = new HttpTransportSE(SERVICE_URL);
httpTranstation.debug = true;
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
SoapObject soapObject = new SoapObject(SERVICE_NS, methodName);
soapObject.addProperty("theCityCode", cityName);
envelope.bodyOut = soapObject;
envelope.dotNet = true;
try
{
// 調用Web Service
httpTranstation.call(SERVICE_NS + methodName, envelope);
if (envelope.getResponse() != null)
{
// 獲取伺服器響應返回的SOAP消息
SoapObject result = (SoapObject) envelope.bodyIn;
SoapObject detail = (SoapObject) result.getProperty(methodName
+ "Result");
// 解析伺服器響應的SOAP消息。
return detail;
}
} catch (Exception e)
{
e.printStackTrace();
}
return null;
}
}

Ⅸ Android上的天氣預報軟體哪個准一點呀 謝謝

單以預報准確而言,個人最為推薦墨跡天氣。一直在用,感覺很好。
1.墨跡天氣
墨跡天氣是一款以預報准確,覆蓋城市廣,流量少,界面華麗等為特點的桌面天氣軟體。
(支持語音播報天氣,皮膚資源也非常豐富!)

另外還有幾款好的軟體,各有所長吧。
2.GO天氣
GO天氣是一款華麗炫酷的實時天氣預報軟體,可查看全球主要城市的天氣。通過訪問美國及全世界數萬個地區中的最大的專業天氣網,GO天氣在任何時間任何地點,都可以獲得最精確的天氣信息。(Go團隊出品,支持高清天氣視頻,十分華麗!)
3.MIUI天氣
一款MIUI開發的天氣軟體,界面時尚大方美觀,功能強大,支持全國城市,支持周邊城市天氣預報,支持天氣提醒,支持污染指數等功能。
(提取自MIUI固件,高清皮膚,天氣效果動態顯示,給你最華麗的體驗!)
4.天氣通
天氣通是一款免費手機天氣預報軟體。通過網路獲取天氣信息,以直觀的圖文方式顯示,詳盡的城市目錄,支持多個預報網站。桌面圖標典雅,天氣網標則充滿新意。
(功能全面,支持全屏動畫,還有獨特的日歷備注功能!)
5.華麗動態天氣
Animated Weather是Android手機上的天氣預報應用程序,每日動態天氣預報,逼真的動態天氣特效,自定義背景,支持世界超過50000個城市的天氣預報。
(可自定義背景,支持城市全面!)

希望對你有幫助。

Ⅹ 安卓手機手機桌面那個天氣預報在哪裡設置

以華為p10手機為例,方法如下:

1、長按手機桌面空白的地方,如下圖。

閱讀全文

與android天氣預報項目相關的資料

熱點內容
用粘液做解壓手套 瀏覽:327
icloud收信伺服器地址 瀏覽:498
編程思考者 瀏覽:450
壓縮機型號用什麼氟利昂 瀏覽:553
農機空氣壓縮機 瀏覽:664
程序員下載歌曲 瀏覽:894
編譯未檢測到模擬器 瀏覽:807
壓縮機每次啟動12分鍾就停 瀏覽:730
creo復制曲面命令 瀏覽:959
程序員戀上女碩士 瀏覽:669
ansys的get命令 瀏覽:988
國外dns蘋果伺服器地址 瀏覽:430
國家職業技術資格證書程序員 瀏覽:652
奇瑞租車app是什麼 瀏覽:99
系統源碼安裝說明 瀏覽:420
命令行加殼 瀏覽:96
解壓時顯示防失效視頻已加密 瀏覽:295
蘋果簡訊加密發送 瀏覽:446
天翼私有雲伺服器租用 瀏覽:733
貴州雲伺服器屬於哪個上市公司 瀏覽:59