㈠ 如何自己動手做一個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中開發個天氣預報的應用_android天氣預報的實現
最准天氣預報軟體排名如下:
1、墨跡天氣
更新城市返念所需流量很少,採用數據壓縮技術,每次更新只要不到2k;酷炫態裂的軟體界面,使用簡潔方便,輕松掌握天氣情況;支持桌面顯示並可獨立於主程序運行,佔用內存很小。
2、2345天氣王
2345天氣王,是中國唯一預報15日天氣的APP應用,提供全國2583個城市天氣預報,實時發布1756個城市空氣質量,被超過300萬用戶公認為最準的天氣預報,一定會為您的生活出行帶來前所未有的便利!
3、天氣通
明星語音:104個明星語音可以為你播報每天天氣帆世閉。通話天氣:顯示通話對方號碼歸屬地的天氣情況,讓你快速了解親人、朋友當地的天氣。天氣實景:查看所關注城市的實時景色。
4、黃歷天氣
最全出行信息:天氣趨勢、溫度、濕度、PM2.5、風力、雷電以及生活指數一應俱全;異地天氣提醒:TA在外地?沒關系,只要設定好城市信息,就能第一時間獲取TA所在城市的天氣變化;天氣預警推送:及時推送當地未來幾小時的精確預警信息,讓你每次出行都能心中有數。
5、最美天氣
最美天氣,8000W用戶的選擇,是您身邊的氣象專家!「中國氣象網」的權威數據,提供近7日天氣變化,是您掌上的晴雨表!提供穿衣,洗車,化妝,運動等生活建議,是您最貼心生活助手!內置全各地球30000張國內外美景,可回味家鄉美景,也能環游世界!
㈢ 手機怎麼設置桌面顯示天氣預報
設置天氣掛件的方法:
Funtouch OS/iQOO UI系統:您在桌面長按空白處--桌面掛件--選擇天氣掛件即可添加到桌面;
Origin OS系統:探索桌面(平行世界):您在桌面中間位置上滑--原子組件--天氣--長按天氣組件移動至桌面即可生成桌面組件;
經典桌面:長按屏幕空白處--原子組件--天氣--長按天氣組件移動至桌面即可。
註:天氣組件默認展示定位城市的天氣數據,若無定位城市則展示城市管理類別第一個城市的天氣數據
㈣ 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 如何實現獲取天氣預報信息
方法步驟(以安卓5.0為例)
一、打開GPS
九、提示
1.適時刷新天氣需要開啟GPS定位。
2.在沒有WIFI的地方刷新天氣需要消耗一定的流量,刷新頻率越高,消耗流量越多。