1. 聚合SDK是聚合数据平台,为移动开发者提供的免费数据接口.使用前请先到聚合平台(http://www.juhe.cn/)注册,申请相关数据.
2. 下载 聚合数据SDK,将开发包里的juhe_sdk_v_1_1.jar拷贝到libs根目录下,将libJuheSDK_v_1_0.so拷贝到libs\armeabi目录下,如图:
3. 根据接口说明文档找到以下方法:
/**
* 城市空气质量
*
* @param city
* 城市名称的中文名称或拼音,如:上海 或 shanghai
* @param jsonCallBack
*/
public void cityAir(String city, JsonCallBack jsonCallBack)
/**
* 城市空气PM2.5指数
*
* @param city
* 城市名称的中文名称或拼音,如:上海 或 shanghai
* @param jsonCallBack
*/
public void pm(String city, JsonCallBack jsonCallBack)
/**
* 城市辐射指数
*
* @param city
* @param num
* @param jsonCallBack
*/
public void radia(String city, int num, JsonCallBack jsonCallBack)
首先,在AnroidManifest.xml中添加权限
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
在application标签内部加入你申请的openid
<meta-data
android:name="com.thinkland.juheapi.openid"
android:value="申请的openid" />
在使用前需要调用一次初始化方法
CommonFun.initialize(getApplicationContext());
导入相关包
import com.thinkland.juheapi.common.CommonFun;
import com.thinkland.juheapi.common.JsonCallBack;
import com.thinkland.juheapi.data.air.AirData;
调用方法
//城市空气PM2.5指数
AirData airData = AirData.getInstance();
airData.pm("shanghai", new JsonCallBack() {
@Override
public void jsonLoaded(JSONObject arg0) {
// TODO Auto-generated method stub
try {
int resultcode = arg0.getInt("resultcode");
if(resultcode == 200){
JSONArray resultJson = arg0.getJSONArray("result");
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
5.返回字段及相关错误码
public void cityAir(Stringcity, JsonCallBackjsonCallBack)
返回字段:
名称 |
|
|
| 类型 | 说明 |
error_code |
|
|
| int | 错误码码 |
resultcode |
|
|
| int | 返回码 |
reason |
|
|
| string | 返回说明 |
result |
|
|
| array | 返回结果集 |
| | |
| dictionary | 现在数据 |
| | |
| dictionary | 过去的两周数据 |
| | |
| dictionary | 最近的监测数据 |
| | | | string | |
| | | | string | |
| | | | string | 空气质量 |
| | | | string | |
| | | | string | PM2.5/小时 |
| | | | string | PM2.5/天 |
| | | | string | PM10/小时 |
| | | | string | 纬度 |
| | | | string | 经度 |
public void pm(String city, JsonCallBackjsonCallBack)
返回字段:
名称 |
| 类型 | 说明 |
error_code |
| int | 错误码码 |
resultcode |
| int | 返回码 |
reason |
| string | 返回说明 |
result |
| array | 返回结果集 |
| | string | |
| | string | |
| | string | |
| | string | |
| | string | |
| | string | |
| | string | |
| | string | |
| | string | |
public void radia(String city, int num, JsonCallBackjsonCallBack)
返回字段:
名称 |
|
|
| 类型 | 说明 |
error_code |
|
|
| int | 错误码码 |
resultcode |
|
|
| int | 返回码 |
reason |
|
|
| string | 返回说明 |
result |
|
|
| array | 返回结果集 |
| |
|
| dictionary |
|
|
| 数字 |
| int | 排序,默认每页显示20条数据 |
|
|
| | string | |
|
| | | string | |
|
| | | string | |
|
| | | string | |
|
| | | string | |
|
|
| | string | |
|
| |
| string | |
错误码 | 说明 |
203301 | 城市输入有误 |
203302 | 此城市不存在结果/NUM输入错误 |
203303 | 查询不到结果/没有此城市的辐射值或者输入的页码数超过总页码数 |