Android——调用百度天气API实现天气预报
2015-01-08 11:42
507 查看
项目中有需求要加入天气当地天气预报功能,我的做法很简单,使用的百度天气API提供天气数据,使用Xutils进行请求,用GSON进行的数据解析,反正已经有人造好了轮子,直接拿来用就是。
百度天气使用的是车联网API,值得提出的一点是,由于API更新后,你所创建的应用类型,够选为服务器,新申请的Mobile与Browser类型的ak不再支持云存储接口的访问,如要使用云存储,请申请Server类型ak。
下面是车联网API
根据经纬度/城市名查询天气的结果
直接上代码:
效果图:
布局文件代码:
由于我使用的gson的jar包进行的数据解析,所以很方便,实体类这样写不用getter和setter方法,直接拿数据用省事多了
我已经将相关的类打包,可以通过该链接进行下载http://download.csdn.net/detail/u014254283/8340283
百度天气使用的是车联网API,值得提出的一点是,由于API更新后,你所创建的应用类型,够选为服务器,新申请的Mobile与Browser类型的ak不再支持云存储接口的访问,如要使用云存储,请申请Server类型ak。
下面是车联网API
接口说明
根据经纬度/城市名查询天气的结果
接口示例
http://api.map.baidu.com/telematics/v3/weather?location=北京&output=json&ak=yourkey
接口参数说明
参数类型 | 参数名称 | 是否必须 | 具体描述 |
---|---|---|---|
String | ak | true | 开发者密钥 |
String | sn | false | 若用户所用ak的校验方式为sn校验时该参数必须。 (sn生成算法) |
String | location | true | "分隔,location=116.305145,39.982368| 122.305145,36.982368|…. |
String | output | false | 输出的数据格式,默认为xml格式,当output设置为’json’时,输出的为json格式的数据; |
String | coord_type | false | 请求参数坐标类型,默认为gcj02经纬度坐标。允许的值为bd09ll、bd09mc、gcj02、wgs84。bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托坐标,gcj02表示经过国测局加密的坐标。wgs84表示gps获取的坐标。 |
String | callback | false | 将json格式的返回值通过callback函数返回以实现jsonp功能。举例:callback=showLocation(JavaScript函数名)。 |
返回结果
参数名称 | 含义 | 说明 | |
---|---|---|---|
currentCity | 当前城市 | 返回城市名 | |
status | 返回结果状态信息 | 请求状态,如果成功返回0,如果失败返回其他数字,详细见状态码附录。 | |
date | 当前时间 | 年-月-日 | |
results | 天气预报信息 | 白天可返回近期3天的天气情况(今天、明天、后天)、晚上可返回近期4天的天气情况(今天、明天、后天、大后天) | |
results.currentCity | 当前城市 | ||
results.pm25 | pm2.5 | 0~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_data | weather_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
相关文章推荐
- Android上实现一个简单的天气预报APP(十四) 使用百度API定位城市
- android定时定位 - 利用百度定位API来实现定时定位功能
- 调用API在Android平台下实现音视频通信
- Android天气预报+百度天气接口
- java天气预报调用百度接口实现
- Android通过调用Webservice实现天气预报
- 调用百度API实现通过经度纬度确定位置
- Android通过调用Webservice实现天气预报
- Python实现从百度API获取天气的方法
- 调用API实现天气预报功能!
- Android中使用百度API定位,并实现手势操作(显示最后点击地图的位置)
- Android调用新浪天气API的问题
- Android调用百度api 获取经纬度以及地图 demo你怎么可以那么坑我????
- Python实现从百度API获取天气的方法
- android定时定位 - 利用百度定位API来实现定时定位功能
- android调用webservice实现天气预报查询
- 调用对象[置顶] Android通过调用Webservice实现天气预报
- Android天气预报各种天气API
- android 百度API定位以及获取天气
- .NET调用百度天气api经验