从服务器上请求json数据,并解析json数据

 private class WeatherThread extends Thread {
  private WeatherInfo weather = null;

  WeatherThread() {
    weather = new WeatherInfo();
  }

  public void run() {

 DefaultHttpClient httpclient = new DefaultHttpClient();
 HttpGet get = new HttpGet("http://m.weather.com.cn/data/101270101.html");

 HttpResponse response = null;
 response = httpclient.execute(get);
   if (response == null
     || response.getStatusLine().getStatusCode() != HttpStatus.SC_OK) {
    return;
   }

   if (parse_http_response(response, weather) == false) {
      return;
   }}
 }

 private boolean parse_http_response(HttpResponse response, WeatherInfo info) {

  HttpEntity entity = response.getEntity();
  BufferedReader br = null;
  StringBuffer sb = new StringBuffer(1024);
  String result = null;

   br = new BufferedReader(new InputStreamReader(entity.getContent()),
     1024);
   result = br.readLine();

  while (result != null) {
   sb.append(result);
    result = br.readLine();
  }

   JSONObject json = null;
  JSONObject wther = null;
   json = new JSONObject(sb.toString());
   wther = json.getJSONObject("weatherinfo");

  if (wther != null) {
    info.date = wther.getString("date_y");
    info.temp_high = wther.getString("temp1");
    info.weather = wther.getString("weather1");
    info.wind = wther.getString("wind1");

    info.img_title1 = wther.getString("img_title1");
    info.img_title2 = wther.getString("img_title2");

    if (weather_icon.containsKey(info.img_title1)) {
     Integer resid = weather_icon.get(info.img_title1);

     info.res_id = resid.intValue();
    } else {
        info.res_id = R.drawable.w0;
    }
    }

  return true;
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值