国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android編程實現獲取新浪天氣預報數據的方法

2020-04-11 11:18:29
字體:
來源:轉載
供稿:網友

本文實例講述了Android編程實現獲取新浪天氣預報數據的方法。分享給大家供大家參考,具體如下:

新浪天氣預報地址:

http://php.weather.sina.com.cn/xml.php?city=武漢&password=DJOYnieT8234jlsK&day=0

其中,city后的城市可用java.net.URLEncoder.encode(“武漢”,” gb2312”);也可以直接寫”武漢”,但不能用”wuhan”。Password固定

Day為0表示當天天氣,1表示第二天的天氣,2表示第三天的天氣,以此類推,最大為4。

工具類:

1、定義成員

/** 新浪天氣網址 */public final String SINA_URL = "http://php.weather.sina.com.cn/xml.php";/** 新浪天氣XML調用密碼 */public final String PASSWORD = "DJOYnieT8234jlsK";/** 城市 */public String city;/** 白天天氣 */public String status1;/** 夜晚天氣 */public String status2;/** 白天天氣 拼音 */public String figure1;/** 夜晚天氣拼音 */public String figure2;/** 白天風向 */public String direction1;/** 夜晚風向 */public String direction2;/** 白天風級 */public String power1;/** 夜晚風級 */public String power2;/** 白天溫度 */public String temperature1;/** 夜晚溫度 */public String temperature2;/** 體感溫度 */public String tgd;/** 紫外線指數 */public String zwx_l;/** 紫外線說明 */public String zwx_s;/** 體感度指數 */public String ssd_l;/** 體感度說明 */public String ssd_s;/** 空調指數 */public String ktk_l;/** 空調說明 */public String ktk_s;/** 洗車指數 */public String xcz_l;/** 洗車說明 */public String xcz_s;/** 穿衣指數 */public String chy_l;/** 穿衣說明 */public String chy_shuoming;/** 污染物擴散條件 */public String pollution_l;/** 污染物擴散條件說明 */public String pollution_s;/** 感冒指數 */public String gm_l;/** 感冒說明 */public String gm_s;/** 運動指數 */public String yd_l;/** 運動說明 */public String yd_s;

2、獲取天氣數據

/*** 更新天氣* * @param city*   城市名* @param day*   0表示當天天氣,1表示第二天的天氣,2表示第三天的天氣,以此類推,最大為4*/public void UpdateWeatherInfo(String city, String day) {  if (city.equals("")) {   isLoaded = false;   return;  }  String html = null;  try {   html = doGet(SINA_URL + "?city="     + java.net.URLEncoder.encode(city, "gb2312") + "&password="     + PASSWORD + "&day=" + day);   Document doc = Jsoup.parse(html);   if (doc.body().getElementsByTag("Profiles").size() == 0) {    isLoaded = false;    return;   }   if (doc.body().getElementsByTag("Profiles").get(0).getElementsByTag("Weather").size() == 0) {    isLoaded = false;    return;   }   Element element = doc.body().getElementsByTag("Profiles").get(0)     .getElementsByTag("Weather").get(0);   this.city = element.getElementsByTag("city").text();   status1 = element.getElementsByTag("status1").text();   status2 = element.getElementsByTag("status2").text();   figure1 = element.getElementsByTag("figure1").text();   figure2 = element.getElementsByTag("figure2").text();   direction1 = element.getElementsByTag("direction1").text();   direction2 = element.getElementsByTag("direction2").text();   power1 = element.getElementsByTag("power1").text();   power2 = element.getElementsByTag("power2").text();   temperature1 = element.getElementsByTag("temperature1").text();   temperature2 = element.getElementsByTag("temperature2").text();   tgd = element.getElementsByTag("tgd").text();   zwx_l = element.getElementsByTag("zwx_l").text();   zwx_s = element.getElementsByTag("zwx_s").text();   ssd_l = element.getElementsByTag("ssd_l").text();   ssd_s = element.getElementsByTag("ssd_s").text();   ktk_l = element.getElementsByTag("ktk_l").text();   ktk_s = element.getElementsByTag("ktk_s").text();   xcz_l = element.getElementsByTag("xcz_l").text();   xcz_s = element.getElementsByTag("xcz_s").text();   chy_l = element.getElementsByTag("chy_l").text();   chy_shuoming = element.getElementsByTag("chy_shuoming").text();   pollution_l = element.getElementsByTag("pollution_l").text();   pollution_s = element.getElementsByTag("pollution_s").text();   gm_l = element.getElementsByTag("gm_l").text();   gm_s = element.getElementsByTag("gm_s").text();   yd_l = element.getElementsByTag("yd_l").text();   yd_s = element.getElementsByTag("yd_s").text();   isLoaded = true;  } catch (UnsupportedEncodingException e) {   isLoaded = false;  }}

3、訪問網絡

public static final String ENCODE = "utf-8";public static String doGet(String url) {  try {   HttpGet httpGet = new HttpGet(url);   HttpClient hc = new DefaultHttpClient();   HttpResponse ht = hc.execute(httpGet);   if (ht.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {    HttpEntity he = ht.getEntity();    InputStream is = he.getContent();    BufferedReader br = new BufferedReader(      new InputStreamReader(is));    String response = "";    String readLine = null;    while ((readLine = br.readLine()) != null) {     response = response + readLine;    }    is.close();    br.close();    return response;   } else {    return "error";   }  } catch (Exception e) {   return "error";  }}

4、關于jsoup可參考:

http://baike.baidu.com/view/4066913.htm

希望本文所述對大家Android程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沙雅县| 兴义市| 呼图壁县| 嘉义县| 通辽市| 思茅市| 兴化市| 泰安市| 台东县| 敖汉旗| 库伦旗| 西乡县| 新巴尔虎左旗| 鸡西市| 临西县| 大同县| 托里县| 福海县| 蒙城县| 南投县| 清涧县| 固安县| 北流市| 东乌珠穆沁旗| 布尔津县| 苏州市| 钟祥市| 甘德县| 永嘉县| 高陵县| 墨玉县| 饶平县| 丹寨县| 平昌县| 凤阳县| 资中县| 定州市| 乌兰察布市| 汽车| 信丰县| 札达县|