android天氣
1. 實現android天氣預報系統要哪些技術
系統天氣預報應該是屬於手機廠商定製系統的時候內嵌的app,屬於系統級app,只要知道包名,就可以用intent跳轉啊,你可以查查你的那個牌子的手機里內置天氣預報app的包名
2. 有哪個比較實用且簡潔的 Android 天氣 App
首推彩虹天氣
國人開發,與墨跡天氣使用同一個天氣源,該有的功能基本都有,但是整個軟體只有不到500k,簡單小巧,預報較為准確,無廣告。缺點就是插件皮膚略顯屌絲,可供選擇的皮膚較少,而且桌面插件不支持快捷操作。
墨跡天氣
應該是目前國內天氣類應用安裝量頭把交椅。皮膚絢麗,還舉辦過兩屆墨跡皮膚設計大賽,涌現出許多不錯的皮膚創意。功能強大,除基本功能外,還支持天氣語音播報,天氣時景相機,動態天氣皮膚,溫度/風力趨勢表,空氣指數,黃歷查詢等。國人的很多軟體有個特點,經歷過一段時間的發展後,總喜歡做「大而全」,期待墨跡以後的版本加入話費查詢、視頻聊天、病毒查殺等功能。一個小缺點就是廣告略多,免費軟體加入廣告無可厚非,但是一個天氣廣告竟然有八個廣告插件,未免誇張。
天氣通
新浪旗下軟體,國內較早的天氣類應用,支持多平台。功能豐富,支持天氣趨勢,空氣質量指數等,在中國好聲音火的那段時間還適時推出了好聲音選手播報天氣功能。整體比較不錯,但是之前應用出現了一些細節問題,用戶跑到論壇區提意見,估計去的人有點多,結果論壇的安卓板塊就給......關閉了-_-!
WeatherBug
下載量曾經長期在Google
Play天氣類應用中保持第一名,Elite版本市價12.38元人民幣。功能只能用強大來形容,號稱業界最精準的Pin-Point視覺預測,同時集成了互動式地圖以及衛星雲圖,還獨家DTAs天氣預警系統,能提供比其他預警速度快50%的惡劣天氣預警服務,更多功能只等你去發現。缺點,無中文。
Eye In Sky Weather
原來的weather eye
pro,干凈清爽,UI大贊,支持12套圖標,4種桌面插件,還可以自定義。如果有人提問「請推薦一款優雅的天氣應用」的話,非此貨莫屬。目前用的就是它。缺點:但是貌似定位需要手動輸入,而且桌面插件不支持顯示時間。
3. android, 開發天氣app需要哪些知識
安卓編程設計很多方面,非常復雜,需要系統的學習才可以,這里以一個簡單的天氣預報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;
}
}
4. 有哪些比較實用且簡潔的 Android 天氣 App
首推彩虹天氣
國人開發,與墨跡天氣使用同一個天氣源,該有的功能基本都有,但是整個軟體只有不到500k,簡單小巧,預報較為准確,無廣告。缺點就是插件皮膚略顯屌絲,可供選擇的皮膚較少,而且桌面插件不支持快捷操作。
墨跡天氣
應該是目前國內天氣類應用安裝量頭把交椅。皮膚絢麗,還舉辦過兩屆墨跡皮膚設計大賽,涌現出許多不錯的皮膚創意。功能強大,除基本功能外,還支持天氣語音播報,天氣時景相機,動態天氣皮膚,溫度/風力趨勢表,空氣指數,黃歷查詢等。國人的很多軟體有個特點,經歷過一段時間的發展後,總喜歡做「大而全」,期待墨跡以後的版本加入話費查詢、視頻聊天、病毒查殺等功能。一個小缺點就是廣告略多,免費軟體加入廣告無可厚非,但是一個天氣廣告竟然有八個廣告插件,未免誇張。
天氣通
新浪旗下軟體,國內較早的天氣類應用,支持多平台。功能豐富,支持天氣趨勢,空氣質量指數等,在中國好聲音火的那段時間還適時推出了好聲音選手播報天氣功能。整體比較不錯,但是之前應用出現了一些細節問題,用戶跑到論壇區提意見,估計去的人有點多,結果論壇的安卓板塊就給......關閉了-_-!
WeatherBug
下載量曾經長期在Google
Play天氣類應用中保持第一名,Elite版本市價12.38元人民幣。功能只能用強大來形容,號稱業界最精準的Pin-Point視覺預測,同時集成了互動式地圖以及衛星雲圖,還獨家DTAs天氣預警系統,能提供比其他預警速度快50%的惡劣天氣預警服務,更多功能只等你去發現。缺點,無中文。
Eye In Sky Weather
原來的weather eye
pro,干凈清爽,UI大贊,支持12套圖標,4種桌面插件,還可以自定義。如果有人提問「請推薦一款優雅的天氣應用」的話,非此貨莫屬。目前用的就是它。缺點:但是貌似定位需要手動輸入,而且桌面插件不支持顯示時間。
5. android 做一個天氣預報的步驟
這些問題還是建議你去其他專業的平台去問,那些csdn有很多大神在,他們會詳細專業一點的回答道你,我的水平也就只是做過課程設計的而已,一般的步驟大概是規劃好基礎模型(就是要做出的基本功能)--做好框架控制項那些(軟體的話,我當時是用AS來做的)--然後就實現頁面的跳轉連接--最後就關聯後台數據(這個可以說核心了,畢竟天氣預報就是需要數據,實時更新的那種)
6. 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)){
//風向
}
}
7. 如何自己動手做一個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
}
8. 基於android的天氣預報系統
用你手機自帶的「應用商店」,搜索天氣,出來的都是適配你手機系統的天氣預報app。
當然,你的手機是安卓的,那就是適配安卓系統的了。
9. android 如何實現獲取天氣預報信息
方法步驟(以安卓5.0為例)
一、打開GPS
九、提示
1.適時刷新天氣需要開啟GPS定位。
2.在沒有WIFI的地方刷新天氣需要消耗一定的流量,刷新頻率越高,消耗流量越多。
10. 安卓天氣軟體哪個好
個人一直在用墨跡天氣,你可以試試。
功能介紹在主界面左下選項中可看到同步天氣、導航、功能、皮膚、設置、關於等功能。· 啟動界面 在每次手工啟動的時候會顯示,用來展示墨跡天氣的LOGO。可以在設置裡面自由選擇啟動或者關閉。· 導航 在主界面菜單中選擇「導航」可以切換到指數界面或城市管理界面,也可以左右滑動屏幕切換界面。· 功能 在主界面菜單中選擇「功能」可使用轉發天氣信息、分享好友、意見反饋、檢查更新等功能。· 轉發天氣信息 可以將今天的預報轉發給遠方的親友。· 分享給好友 您覺得墨跡天氣軟體很實用,可以以簡訊或者的方式分享給你的好友。· 意見反饋 您對墨跡天氣軟體有什麼好的建議,可以給我們留言。· 備份設置可以備份多個您所選擇好的各種設置。· 檢查更新 可以查到您使用的墨跡天氣軟體是不是最新的版本。· 皮膚 可在主界面菜單的皮膚選項里直接更換已經安裝的皮膚。· 設置 在主界面菜單中選擇「設置」可進入基本設置、桌面顯示、桌面自動更新、皮膚管理進行設置。
如果還有問題,可以繼續問我,希望可以幫你解決問題,純手工黨,望採納!