1.到libs聚合SDK是聚合数据平台,为移动开发者提供的免费数据接口.使用前请先到聚合平台(http://www.juhe.cn/)注册,申请相关数据.
2.下载聚合数据SDK,将开发包里的juhe_sdk_v_1_1.jar拷贝到libs根目录下,将libJuheSDK_v_1_0.so拷贝到libs\armeabi目录下,如图:
3.根据接口说明文档找到以下方法:
/**
* 根据城市名查询天气
*
* @param cityname
* 城市名,如:"苏州"
* @param format
* 未来6天预报(future)两种返回格式,1或2,默认1
*
* @param jsonCallBack
*
*/
public void getByCitys(String cityname, int format, JsonCallBack jsonCallBack)
/**
* 天气种类及标识列表
*
* @param jsonCallBack
*
*/
public void getUni(JsonCallBack jsonCallBack)
/**
*
* 根据IP查询天气
*
* @param ip
* ip地址,如:58.215.185.154
* @param format
* 未来6天预报(future)两种返回格式,1或2,默认1
* @param jsonCallBack
*
*/
public void getByIP(String ip, int format, JsonCallBack jsonCallBack)
/**
*
* 根据GPS坐标查询天气
*
*
* @param lon
* 经度
* @param lat
* 纬度
* @param format
* 未来6天预报(future)两种返回格式,1或2,默认1
* @param jsonCallBack
*
*/
public void getByGEO(double lat, double lon, int format, JsonCallBack jsonCallBack)
/**
* 城市天气三小时预报
*
* @param cityname
* @param jsonCallBack
*
*/
public void getForecast3h(String cityname, JsonCallBack jsonCallBack)
/**
* 支持城市列表
*
* @param jsonCallBack
*/
public void getCities(JsonCallBack jsonCallBack)
4.程序中调用方法
首先,在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.weather.WeatherData;
调用方法
//根据城市名/id查询天气
WeatherData weatherData = WeatherData.getInstance();
weatherData.getByCitys("苏州", 1, new JsonCallBack() {
@Override
public void jsonLoaded(JSONObject arg0) {
// TODO Auto-generated method stub
try {
int code = arg0.getInt("resultcode");
if (code == 200) {
JSONObject resultJson = arg0.getJSONObject("result");
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
5.返回字段及相关错误码
根据城市名/id查询天气
publicvoidgetByCitys(Stringcityname,
JsonCallBackjsonCallBack)
返回字段:(注意:有些字段对应的属性值为空,使用时需判断)
名称
|
|
|
类型
|
说明
|
resultcode
|
|
|
int
|
返回码
|
reason
|
|
|
string
|
返回说明
|
result
|
|
|
dictionary
|
返回结果
|
sk
|
|
|
dictionary
|
当前实况天气
|
|
temp
|
|
int
|
当前温度
|
|
wind_direction
|
|
string
|
当前风向
|
|
wind_strength
|
|
string
|
当前风力
|
|
humidity
|
|
string
|
当前湿度
|
|
time
|
|
date
|
更新时间
|
today
|
|
|
dictionary
|
今日天气
|
|
city
|
|
string
|
城市
|
|
date_y
|
|
string
|
日期
|
|
week
|
|
string
|
星期
|
|
temperature
|
|
string
|
今日温度
|
|
weather
|
|
string
|
今日天气
|
|
weather_id
|
|
dictionary
|
天气唯一标识
|
|
|
fa
|
Int
|
天气标识00:晴
|
|
|
fb
|
int
|
天气标识53:霾 如果fa不等于fb,说明是组合天气
|
|
wind
|
|
string
|
风向与风力
|
|
dressing_index
|
|
string
|
穿衣指数(较冷)
|
|
dressing_advice
|
|
string
|
穿衣建议
|
|
uv_index
|
|
string
|
紫外线强度
|
|
comfort_index
|
|
string
|
舒适度指数
|
|
wash_index
|
|
string
|
洗车指数
|
|
travel_index
|
|
string
|
旅游指数
|
|
exercise_index
|
|
string
|
晨练指数
|
|
drying_index
|
|
string
|
干燥指数
|
future
|
|
|
array
|
未来几天天气(内部字典参数均能在today中找到)
|
error_code
|
|
|
int
|
错误码
|
publicvoidgetUni(JsonCallBackjsonCallBack)
返回字段:
名称
|
|
类型
|
说明
|
resultcode
|
|
int
|
返回码
|
reason
|
|
string
|
返回说明
|
result
|
|
array
|
返回结果集
|
|
wid
|
string
|
天气唯一标示符
|
|
weather
|
string
|
天气
|
error_code
|
|
int
|
错误码
|
publicvoid getByIP(Stringip,
JsonCallBackjsonCallBack)
返回字段同juhe.apis.weather.index(根据城市名/id查询天气)。
public
void getByGEO(doublelat,doublelon,JsonCallBack
jsonCallBack)
返回字段同juhe.apis.weather.index(根据城市名/id查询天气)。
public
voidgetForecast3h(String cityname, JsonCallBackjsonCallBack)
返回字段:
名称
|
|
类型
|
说明
|
resultcode
|
|
int
|
返回码
|
reason
|
|
string
|
返回说明
|
result
|
|
array
|
返回结果集
|
|
weatherid
|
int
|
天气标识ID
|
|
weather
|
string
|
天气
|
|
temp1
|
string
|
低温
|
|
temp2
|
string
|
高温
|
|
sh
|
string
|
开始小时
|
|
eh
|
string
|
结束小时
|
|
wid
|
string
|
天气唯一标示符
|
|
date
|
string
|
日期
|
|
sfdate
|
string
|
完整开始时间
|
|
efdate
|
string
|
完整结束时间
|
error_code
|
|
int
|
错误码
|
publicvoidgetCities(JsonCallBackjsonCallBack)
返回字段:
名称
|
|
类型
|
说明
|
resultcode
|
|
int
|
返回码
|
reason
|
|
string
|
返回说明
|
result
|
|
dictionary
|
返回结果集
|
|
id
|
int
|
城市ID
|
|
province
|
string
|
省份名称
|
|
city
|
string
|
城市名称
|
|
district
|
string
|
城市/区名称
|
error_code
|
|
int
|
错误码
|
错误码
|
说明
|
203901
|
查询城市不能为空
|
203902
|
查询不到该城市的天气
|
203903
|
查询出错,请重试
|
203904
|
错误的GPS坐标
|
203905
|
GPS坐标解析出错,请确认提供的坐标正确(暂支持国内)
|
203906
|
IP地址错误
|
203907
|
查询不到该IP地址相关的天气信息
|
分享到:
相关推荐
短信验证码的功能,在很多应用中都能用到,我写了一个例子,是接的聚合数据的短信验证码
基于PHP的聚合数据天气预报api调用示例.pdf
android手游sdk聚合打包全套工具(windows平台) 解包:apktool d test.apk 重打包:apktool d test 签名:jarsigner -verbose -keystore test.jks -signedjar signtest.apk test.apk test 优化apk:zipalign -v 4 ...
RRD 安卓rrdd mvp demo(查询天气api来自聚合数据)
android手游sdk聚合打包全套工具(linux平台) 解包:apktool d test.apk 重打包:apktool d test 签名:jarsigner -verbose -keystore test.jks -signedjar signtest.apk test.apk test 优化apk:zipalign -v 4 ...
android 天气预报 通过获取固定网络地址的JSON数据,并返回读取该数据展示到视图组件上
聚合官方sdk
使用fastjson和xUtils框架来获取聚合笑话数据,请自己申请聚合笑话key放入就可以运行 使用android studio工具开发
Android实现了简单的获取当前时间的天气情况,通过和风天气的接口来实现的
AppLovion MAX Unity
关于聚合数据的sdk的下载,可以帮助你解决第三方slidingmenumanager管理的工具。
违章查询完整android studio工程。 使用mvp + retrofit + rxjava开发 使用聚合数据违章查询api,在ViolationKey类中填上你申请的key即可使用
此示例展示了如何向android应用程序中添加广告
基于android百度地图的聚合功能,并实现点击标注跳转!
Android 高德地图自定义点聚合marker图片及Overlay点击选中功能的代码实现及布局文件
本文实例讲述了PHP调用全国天气预报数据接口查询天气。分享给大家供大家参考,具体如下: 基于PHP的聚合数据全国天气预报API服务请求的代码样例 本代码示例是基于PHP的聚合数据全国天气预报API服务请求的代码样例,...
Android项目开发 实现利用聚合数据 实时在线股票查询 使用Android studio 3.6.1版本开发 拉入可用
本文我将讲解一下我最近实现的高德地图Marker的聚合功能。在项目开发中需要使用到地图Marker的聚合功能,但是高德地图并没有实现对Marker的聚合功能,所以需要自己实现其聚合功能
本程序根据地图zoom大小来聚合标注物,clusterer标记聚合器用来解决加载大量点要素到地图上产生覆盖现象的问题,并提高性能,本代码为android版。