项目中有需求要加入天气当地天气预报功能,我的做法很简单,使用的百度天气API提供天气数据,使用Xutils进行请求,用GSON进行的数据解析,反正已经有人造好了轮子,直接拿来用就是。
百度天气使用的是车联网API,值得提出的一点是,由于API更新后,你所创建的应用类型,够选为服务器,新申请的Mobile与Browser类型的ak不再支持云存储接口的访问,如要使用云存储,请申请Server类型ak。
下面是车联网API
接口说明
根据经纬度/城市名查询天气的结果
接口示例
接口参数说明
参数类型 | 参数名称 | 是否必须 | 具体描述 |
---|---|---|---|
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 | 当前时间 |