您的位置:首页 > 移动开发 > Android开发

Android——调用百度天气API实现天气预报

2015-01-08 11:42 507 查看
项目中有需求要加入天气当地天气预报功能,我的做法很简单,使用的百度天气API提供天气数据,使用Xutils进行请求,用GSON进行的数据解析,反正已经有人造好了轮子,直接拿来用就是。

百度天气使用的是车联网API,值得提出的一点是,由于API更新后,你所创建的应用类型,够选为服务器,新申请的Mobile与Browser类型的ak不再支持云存储接口的访问,如要使用云存储,请申请Server类型ak。

下面是车联网API


接口说明

根据经纬度/城市名查询天气的结果


接口示例

http://api.map.baidu.com/telematics/v3/weather?location=北京&output=json&ak=yourkey


接口参数说明

参数类型参数名称是否必须具体描述
Stringaktrue开发者密钥
Stringsnfalse若用户所用ak的校验方式为sn校验时该参数必须。 (sn生成算法)
Stringlocationtrue"分隔,location=116.305145,39.982368| 122.305145,36.982368|….
Stringoutputfalse输出的数据格式,默认为xml格式,当output设置为’json’时,输出的为json格式的数据;
Stringcoord_typefalse请求参数坐标类型,默认为gcj02经纬度坐标。允许的值为bd09ll、bd09mc、gcj02、wgs84。bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托坐标,gcj02表示经过国测局加密的坐标。wgs84表示gps获取的坐标。
Stringcallbackfalse将json格式的返回值通过callback函数返回以实现jsonp功能。举例:callback=showLocation(JavaScript函数名)。


返回结果

参数名称含义说明
currentCity当前城市返回城市名
status返回结果状态信息请求状态,如果成功返回0,如果失败返回其他数字,详细见状态码附录。
date当前时间年-月-日
results天气预报信息白天可返回近期3天的天气情况(今天、明天、后天)、晚上可返回近期4天的天气情况(今天、明天、后天、大后天)
results.currentCity当前城市 
results.pm25pm2.50~50,一级,优,绿色;

51~100,二级,良,黄色; 101~150,三级,轻度污染,橙色; 151~200,四级,中度污染 ,红色; 201~300,五级,重度污染 ,紫色; >300,六级,严重污染, 褐红色。 图标分类示意图: 

 优, 

 良
, 

 轻度污染,

 中度污染,

 重度污染, 

 严重污染。
results.index.title指数title分为:穿衣、洗车、感冒、运动、紫外线这几个类型。
results.index.zs指数取值不同指数描述不一
results.index.tipt指数含义指数含义
results.index.des指数详情指数详情
results.weather_dataweather_data.date天气预报时间 
weather_data.dayPictureUrl白天的天气预报图片url 
weather_data.nightPictureUrl晚上的天气预报图片url 
weather_data.weather天气状况常见天气情况(“|”分隔符):晴|多云|阴|阵雨|雷阵雨|雷阵雨伴有冰雹|雨夹雪|小雨|中雨|大雨|暴雨|大暴雨|特大暴雨|阵雪|小雪|中雪|大雪|暴雪|雾|冻雨|沙尘暴|小雨转中雨|中雨转大雨|大雨转暴雨|暴雨转大暴雨|大暴雨转特大暴雨|小雪转中雪|中雪转大雪|大雪转暴雪|浮尘|扬沙|强沙尘暴|霾
weather_data.wind风力风力值
weather_data.temperature温度温度范围,如:29~22℃


返回xml格式的数据

<CityWeatherResponse>
<status>success</status>
<date>2013-07-18</date>
<results>
<currentCity>北京市</currentCity>
<weather_data>
<date>周三(今天, 实时:24℃)</date>
<dayPictureUrl> http://api.map.baidu.com/images/weather/day/duoyun.png </dayPictureUrl>
<nightPictureUrl> http://api.map.baidu.com/images/weather/night/duoyun.png </nightPictureUrl>
<weather>多云</weather>
<wind>微风</wind>
<temperature>23℃~ 15℃</temperature>
<date>周四</date>
<dayPictureUrl> http://api.map.baidu.com/images/weather/day/leizhenyu.png </dayPictureUrl>
<nightPictureUrl> http://api.map.baidu.com/images/weather/night/zhongyu.png </nightPictureUrl>
<weather>雷阵雨转中雨</weather>
<wind>微风</wind>
<temperature>29~22℃</temperature>
<date>周五</date>
<dayPictureUrl> http://api.map.baidu.com/images/weather/day/yin.png </dayPictureUrl>
<nightPictureUrl> http://api.map.baidu.com/images/weather/night/duoyun.png </nightPictureUrl>
<weather>阴转多云</weather>
<wind>微风</wind>
<temperature>31~23℃</temperature>
<date>周六</date>
<dayPictureUrl> http://api.map.baidu.com/images/weather/day/duoyun.png </dayPictureUrl>
<nightPictureUrl> http://api.map.baidu.com/images/weather/night/duoyun.png </nightPictureUrl>
<weather>多云</weather>
<wind>微风</wind>
<temperature>31~24℃</temperature>
</weather_data>
<currentCity>合肥市</currentCity>
<weather_data>
<date>周三</date>
<dayPictureUrl> http://api.map.baidu.com/images/weather/day/duoyun.png </dayPictureUrl>
<nightPictureUrl> http://api.map.baidu.com/images/weather/night/duoyun.png </nightPictureUrl>
<weather>多云</weather>
<wind>东风3-4级</wind>
<temperature>27℃</temperature>
<date>周四</date>
<dayPictureUrl> http://api.map.baidu.com/images/weather/day/duoyun.png </dayPictureUrl>
<nightPictureUrl> http://api.map.baidu.com/images/weather/night/duoyun.png </nightPictureUrl>
<weather>多云</weather>
<wind>东北风3-4级</wind>
<temperature>35~27℃</temperature>
<date>周五</date>
<dayPictureUrl> http://api.map.baidu.com/images/weather/day/duoyun.png </dayPictureUrl>
<nightPictureUrl> http://api.map.baidu.com/images/weather/night/duoyun.png </nightPictureUrl>
<weather>多云</weather>
<wind>南风</wind>
<temperature>35~27℃</temperature>
<date>周六</date>
<dayPictureUrl> http://api.map.baidu.com/images/weather/day/duoyun.png </dayPictureUrl>
<nightPictureUrl> http://api.map.baidu.com/images/weather/night/duoyun.png </nightPictureUrl>
<weather>多云</weather>
<wind>东风</wind>
<temperature>34~27℃</temperature>
</weather_data>
</results>
</CityWeatherResponse>
<weather>阵雨</weather>
<wind>东北风3-4级</wind>
<temperature>18℃</temperature>
<index>
<title>穿衣</title>
<zs>舒适</zs>
<tipt>穿衣指数</tipt>
<des>建议着长袖T恤、衬衫加单裤等服装。年老体弱者宜着针织长袖衬衫、马甲和长裤。</des>
<title>洗车</title>
<zs>不宜</zs>
<tipt>洗车指数</tipt>
<des>不宜洗车,未来24小时内有雨,如果在此期间洗车,雨水和路上的泥水可能会再次弄脏您的爱车。</des>
<title>感冒</title>
<zs>较易发</zs>
<tipt>感冒指数</tipt>
<des>相对今天出现了较大幅度降温,较易发生感冒,体质较弱的朋友请注意适当防护。</des>
<title>运动</title>
<zs>较不宜</zs>
<tipt>运动指数</tipt>
<des>有降水,推荐您在室内进行健身休闲运动;若坚持户外运动,须注意携带雨具并注意避雨防滑。</des>
<title>紫外线强度</title>
<zs>弱</zs>
<tipt>紫外线强度指数</tipt>
<des>紫外线强度较弱,建议出门前涂擦SPF在12-15之间、PA+的防晒护肤品。</des>
</index>
<pm25>166</pm25>
</results>
</CityWeatherResponse>


返回json格式的数据

{
error: 0,
status: "success",
date: "2013-07-17",
results:
[
{
currentCity: "北京市",
pm25: "166",
index: [
{
title: "穿衣",
zs: "舒适",
tipt: "穿衣指数",
des: "建议着长袖T恤、衬衫加单裤等服装。年老体弱者宜着针织长袖衬衫、马甲和长裤。"
},
{
title: "洗车",
zs: "不宜",
tipt: "洗车指数",
des: "不宜洗车,未来24小时内有雨,如果在此期间洗车,雨水和路上的泥水可能会再次弄脏您的爱车。"
},
{
title: "感冒",
zs: "较易发",
tipt: "感冒指数",
des: "相对今天出现了较大幅度降温,较易发生感冒,体质较弱的朋友请注意适当防护。"
},
{
title: "运动",
zs: "较不宜",
tipt: "运动指数",
des: "有降水,推荐您在室内进行健身休闲运动;若坚持户外运动,须注意携带雨具并注意避雨防滑。"
},
{
title: "紫外线强度",
zs: "弱",
tipt: "紫外线强度指数",
des: "紫外线强度较弱,建议出门前涂擦SPF在12-15之间、PA+的防晒护肤品。"
}
],
weather_data:
[
{
date: "周三(今天, 实时:24℃)",
dayPictureUrl: "http://api.map.baidu.com/images/weather/day/duoyun.png",
nightPictureUrl: "http://api.map.baidu.com/images/weather/night/duoyun.png",
weather: "多云",
wind: "微风",
temperature: "23℃~ 15℃"
},
{
date: "明天(周四)",
dayPictureUrl: "http://api.map.baidu.com/images/weather/day/leizhenyu.png",
nightPictureUrl: "http://api.map.baidu.com/images/weather/night/zhongyu.png",
weather: "雷阵雨转中雨",
wind: "微风",
temperature: "29~22℃"
},
{
date: "后天(周五)",
dayPictureUrl: "http://api.map.baidu.com/images/weather/day/yin.png",
nightPictureUrl: "http://api.map.baidu.com/images/weather/night/duoyun.png",
weather: "阴转多云",
wind: "微风",
temperature: "31~23℃"
},
{
date: "大后天(周六)",
dayPictureUrl: "http://api.map.baidu.com/images/weather/day/duoyun.png",
nightPictureUrl: "http://api.map.baidu.com/images/weather/night/duoyun.png",
weather: "多云",
wind: "微风",
temperature: "31~24℃"
}
]
},
{
currentCity: "合肥市",
weather_data:
[
{
date: "今天(周三)",
dayPictureUrl: "http://api.map.baidu.com/images/weather/day/duoyun.png",
nightPictureUrl: "http://api.map.baidu.com/images/weather/night/duoyun.png",
weather: "多云",
wind: "东风3-4级",
temperature: "27℃"
},
{
date: "明天(周四)",
dayPictureUrl: "http://api.map.baidu.com/images/weather/day/duoyun.png",
nightPictureUrl: "http://api.map.baidu.com/images/weather/night/duoyun.png",
weather: "多云",
wind: "东北风3-4级",
temperature: "35~27℃"
},
{
date: "后天(周五)",
dayPictureUrl: "http://api.map.baidu.com/images/weather/day/duoyun.png",
nightPictureUrl: "http://api.map.baidu.com/images/weather/night/duoyun.png",
weather: "多云",
wind: "南风",
temperature: "35~27℃"
},
{
date: "大后天(周六)",
dayPictureUrl: "http://api.map.baidu.com/images/weather/day/duoyun.png",
nightPictureUrl: "http://api.map.baidu.com/images/weather/night/duoyun.png",
weather: "多云",
wind: "东风",
temperature: "34~27℃"
}
]
}
]
}

直接上代码:
效果图:



布局文件代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/ba_weather"
android:orientation="vertical" >

<TextView
android:id="@+id/cityTitle"
android:layout_width="match_parent"
android:layout_height="40dp"
android:paddingBottom="10dp"
android:paddingLeft="10dp"
android:paddingTop="10dp"
android:text="city"
android:textColor="@color/white"
android:textSize="15sp" />

<ImageView
android:id="@+id/iv_status_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:paddingTop="100dp" />

<TextView
android:paddingTop="5dp"
android:id="@+id/tv_currentday_status"
android:layout_width="match_parent"
android:layout_height="20dp"
android:gravity="center_horizontal"
android:text="status"
android:textColor="@color/white"
android:textSize="15sp" />

<TextView
android:id="@+id/tv_currentday_temp"
android:layout_width="match_parent"
android:layout_height="20dp"
android:gravity="center_horizontal"
android:text="currtem"
android:textColor="@color/white"
android:textSize="10sp" />

<TextView
android:id="@+id/tv_currentday_wind"
android:layout_width="match_parent"
android:layout_height="20dp"
android:gravity="center_horizontal"
android:text="wind"
android:textColor="@color/white"
android:textSize="10sp" />

<TextView
android:id="@+id/tv_currentday_data"
android:layout_width="match_parent"
android:layout_height="20dp"
android:gravity="center_horizontal"
android:text="week"
android:textColor="@color/white"
android:textSize="10sp" />

<LinearLayout
android:layout_marginTop="60dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:orientation="vertical" >

<TextView
android:paddingLeft="5dp"
android:id="@+id/tv_flue"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="@color/white"
android:textSize="10sp" />

<TextView
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:id="@+id/tv_fluedetails"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="@color/white"
android:textSize="10sp"
android:textStyle="italic" />

<TextView
android:paddingLeft="5dp"
android:id="@+id/tv_support"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="@color/white"
android:textSize="10sp" />

<TextView
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:id="@+id/tv_supportdetails"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="@color/white"
android:textSize="10sp"
android:textStyle="italic" />
</LinearLayout>

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="80dp"
android:orientation="horizontal" >

<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp" >

<ImageView
android:id="@+id/iv_firststatus_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" />

<TextView
android:id="@+id/first_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/iv_firststatus_image"
android:gravity="center_horizontal"
android:paddingLeft="4dp"
android:paddingTop="5dp"
android:text="status"
android:textColor="@color/white"
android:textSize="10sp" />
</RelativeLayout>

<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="10dp" >

<TextView
android:id="@+id/first_data"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:paddingLeft="3dp"
android:text="周三"
android:textColor="@color/white"
android:textSize="10sp" />

<TextView
android:id="@+id/first_tem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/first_data"
android:gravity="center_horizontal"
android:paddingTop="8dp"
android:text="-2-10"
android:textColor="@color/white"
android:textSize="10sp" />
</RelativeLayout>

<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:src="@drawable/line_weather" />

<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp" >

<ImageView
android:id="@+id/iv_secondstatus_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" />

<TextView
android:id="@+id/second_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/iv_secondstatus_image"
android:gravity="center_horizontal"
android:paddingLeft="4dp"
android:paddingTop="5dp"
android:text="晴"
android:textColor="@color/white"
android:textSize="10sp" />
</RelativeLayout>

<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="10dp" >

<TextView
android:id="@+id/second_data"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:paddingLeft="3dp"
android:text="周三"
android:textColor="@color/white"
android:textSize="10sp" />

<TextView
android:id="@+id/second_tem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/second_data"
android:gravity="center_horizontal"
android:paddingTop="8dp"
android:text="-2-10"
android:textColor="@color/white"
android:textSize="10sp" />
</RelativeLayout>

<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:src="@drawable/line_weather" />

<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp" >

<ImageView
android:id="@+id/iv_thirdnstatus_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" />

<TextView
android:id="@+id/third_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/iv_thirdnstatus_image"
android:gravity="center_horizontal"
android:paddingLeft="4dp"
android:paddingTop="5dp"
android:text="晴"
android:textColor="@color/white"
android:textSize="10sp" />
</RelativeLayout>

<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="10dp" >

<TextView
android:id="@+id/third_data"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:paddingLeft="3dp"
android:text="周三"
android:textColor="@color/white"
android:textSize="10sp" />

<TextView
android:id="@+id/third_tem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/third_data"
android:gravity="center_horizontal"
android:paddingTop="8dp"
android:text="-2-10"
android:textColor="@color/white"
android:textSize="10sp" />
</RelativeLayout>
</LinearLayout>

</LinearLayout>
实现代码:

import java.util.ArrayList;

import android.os.Bundle;
import android.widget.ImageView;
import android.widget.TextView;

import com.cykj.oa.app.R;
import com.cykj.oa.app.base.BaseActivity;
import com.cykj.oa.app.bean.EmailBean;
import com.cykj.oa.app.bean.EmailBean.Messages;
import com.cykj.oa.app.bean.WeatherBean;
import com.cykj.oa.app.bean.WeatherBean.results;
import com.cykj.oa.app.utils.GsonTools;
import com.cykj.oa.app.utils.OAApi;
import com.lidroid.xutils.BitmapUtils;
import com.lidroid.xutils.HttpUtils;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;
import com.lidroid.xutils.http.client.HttpRequest;
import com.lidroid.xutils.util.LogUtils;

public class WeatherShowActiviy extends BaseActivity {
private TextView tv_cityTitle;
private ImageView iv_status_iamge;
private TextView tv_currentday_status;
private TextView tv_currentday_temp;
private TextView tv_currentday_wind;
private TextView tv_currentday_data;

private TextView tv_flue;
private TextView tv_fluedetails;
private TextView tv_support;

private TextView tv_supportdetails;

private ImageView iv_firststatus_iamge;
private TextView first_data;
private TextView first_status;
private TextView first_tem;

private ImageView iv_secondstatus_iamge;
private TextView second_data;
private TextView second_status;
private TextView second_tem;

private ImageView iv_thirdstatus_iamge;
private TextView third_data;
private TextView third_status;
private TextView third_tem;

private WeatherBean weatherBean;

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.weather);
findViewById();
initView();
}

@Override
protected void findViewById() {
tv_cityTitle = (TextView) findViewById(R.id.cityTitle);
iv_status_iamge = (ImageView) findViewById(R.id.iv_status_image);
tv_currentday_status = (TextView) findViewById(R.id.tv_currentday_status);
tv_currentday_temp = (TextView) findViewById(R.id.tv_currentday_temp);
tv_currentday_wind = (TextView) findViewById(R.id.tv_currentday_wind);
tv_currentday_data = (TextView) findViewById(R.id.tv_currentday_data);

tv_flue = (TextView) findViewById(R.id.tv_flue);
tv_fluedetails = (TextView) findViewById(R.id.tv_fluedetails);
tv_support = (TextView) findViewById(R.id.tv_support);
tv_supportdetails = (TextView) findViewById(R.id.tv_supportdetails);

first_data = (TextView) findViewById(R.id.first_data);
first_status = (TextView) findViewById(R.id.first_status);
first_tem = (TextView) findViewById(R.id.first_tem);

second_data = (TextView) findViewById(R.id.second_data);
second_status = (TextView) findViewById(R.id.second_status);
second_tem = (TextView) findViewById(R.id.second_tem);

third_data = (TextView) findViewById(R.id.third_data);
third_status = (TextView) findViewById(R.id.third_status);
third_tem = (TextView) findViewById(R.id.third_tem);

iv_firststatus_iamge = (ImageView) findViewById(R.id.iv_firststatus_image);
iv_secondstatus_iamge = (ImageView) findViewById(R.id.iv_secondstatus_image);
iv_thirdstatus_iamge = (ImageView) findViewById(R.id.iv_thirdnstatus_image);

}

@Override
protected void initView() {
HttpUtils http = new HttpUtils();
http.send(HttpRequest.HttpMethod.GET, OAApi.WEATHER_URL,
new RequestCallBack<String>() {

@Override
public void onSuccess(ResponseInfo<String> responseInfo) {
LogUtils.d("获取结果 :" + responseInfo.result);
ProcessData(responseInfo.result);
}

@Override
public void onFailure(HttpException error, String msg) {
LogUtils.d("获取失败 :" + error);
}
});

}

public void ProcessData(String result) {
weatherBean = GsonTools.changeGsonToBean(result, WeatherBean.class);
if (weatherBean.status = true) {
ArrayList<results> s = weatherBean.results;
System.out.println("weather:" + s);
}

BitmapUtils bitmapUtils = new BitmapUtils(this);

// 加载网络图片
bitmapUtils.display(iv_status_iamge, weatherBean.results.get(0).weather_data.get(0).dayPictureUrl);
bitmapUtils.display(iv_firststatus_iamge, weatherBean.results.get(0).weather_data.get(1).dayPictureUrl);
bitmapUtils.display(iv_secondstatus_iamge, weatherBean.results.get(0).weather_data.get(2).dayPictureUrl);
bitmapUtils.display(iv_thirdstatus_iamge, weatherBean.results.get(0).weather_data.get(3).dayPictureUrl);

System.out.println("weather_url:"+weatherBean.results.get(0).weather_data.get(0).dayPictureUrl);
tv_cityTitle.setText(weatherBean.results.get(0).currentCity);
System.out.println("city"+weatherBean.results.get(0).currentCity);

tv_flue.setText(weatherBean.results.get(0).index.get(3).title+":"+weatherBean.results.get(0).index.get(3).zs);
tv_fluedetails.setText(weatherBean.results.get(0).index.get(3).des);
tv_support.setText(weatherBean.results.get(0).index.get(4).title+":"+weatherBean.results.get(0).index.get(4).zs);
tv_supportdetails.setText(weatherBean.results.get(0).index.get(4).des);

tv_currentday_status.setText(weatherBean.results.get(0).weather_data.get(0).weather);
System.out.println("weather"+weatherBean.results.get(0).weather_data.get(0).weather);

tv_currentday_wind.setText(weatherBean.results.get(0).weather_data.get(0).wind);
tv_currentday_data.setText(weatherBean.results.get(0).weather_data.get(0).date);
System.out.println("data"+weatherBean.results.get(0).weather_data.get(0).date);
tv_currentday_temp.setText(weatherBean.results.get(0).weather_data.get(0).temperature);
System.out.println("temperature"+weatherBean.results.get(0).weather_data.get(0).temperature);

first_data.setText(weatherBean.results.get(0).weather_data.get(1).date);
first_status.setText(weatherBean.results.get(0).weather_data.get(1).weather);
first_tem.setText(weatherBean.results.get(0).weather_data.get(1).temperature);

second_data.setText(weatherBean.results.get(0).weather_data.get(2).date);
second_status.setText(weatherBean.results.get(0).weather_data.get(2).weather);
second_tem.setText(weatherBean.results.get(0).weather_data.get(2).temperature);

third_data.setText(weatherBean.results.get(0).weather_data.get(3).date);
third_status.setText(weatherBean.results.get(0).weather_data.get(3).weather);
third_tem.setText(weatherBean.results.get(0).weather_data.get(3).temperature);

}

}
实体类代码:

由于我使用的gson的jar包进行的数据解析,所以很方便,实体类这样写不用getter和setter方法,直接拿数据用省事多了

import java.util.ArrayList;

public class WeatherBean {
public String data;
public int error;
public ArrayList<results> results;
public boolean status;
public static class results{
public String currentCity;
public ArrayList<index> index;
public String pm25;
public ArrayList<weather_data> weather_data;

}
public static class index{
public String des;
public String tipt;
public String title;
public String zs;
}
public static class weather_data{
public String date;
public String dayPictureUrl;
public String nightPictureUrl;
public String temperature;
public String weather;
public String wind;
}
}


我已经将相关的类打包,可以通过该链接进行下载http://download.csdn.net/detail/u014254283/8340283
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: