聚合数据Android SDK实现天气查询

发布时间:2020-05-08 14:04:37

来源:亿速云

阅读:149

作者:Leah

这篇文章主要介绍了聚合数据Android SDK实现天气查询交的方法,具有一定借鉴价值,需要的朋友可以参考下。如下资料是关于聚合数据Android SDK实现天气查询的详细步骤内容。

1.到libs聚合SDK是聚合数据平台,为移动开发者提供的免费数据接口.使用前请先到聚合平台(http://www.juhe.cn/)注册,申请相关数据.

2.下载聚合数据SDK,将开发包里的juhe_sdk_v_1_1.jar拷贝到libs根目录下,将libJuheSDK_v_1_0.so拷贝到libs\armeabi目录下,如图:

a10a2c252b955803e63ecd372b322aa7.png

3.根据接口说明文档找到以下方法:

Java代码

201071.com/**

* 根据城市名查询天气

*

* @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中添加权限

Html代码

201071.com

在application标签内部加入你申请的openid

Html代码

201071.com

android:name="com.thinkland.juheapi.openid"

android:value="申请的openid" />

在使用前需要调用一次初始化方法

Java代码

201071.comCommonFun.initialize(getApplicationContext());

导入相关包

Java代码

201071.comimport com.thinkland.juheapi.common.CommonFun;

import com.thinkland.juheapi.common.JsonCallBack;

import com.thinkland.juheapi.data.weather.WeatherData;

调用方法

Java代码

201071.com//根据城市名/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)

返回字段:(注意:有些字段对应的属性值为空,使用时需判断)

d97796d591f513a88f963174e0d59fa9.png

e1178ae8f9abf8656d98cfa17e80925a.png

publicvoidgetUni(JsonCallBackjsonCallBack)

返回字段:

cc3fd7e8b138b8bdbca0a481421eebda.png

publicvoidgetByIP(Stringip, JsonCallBackjsonCallBack)

返回字段

5c1066243fa3119f4515bae4e6dd01ec.png

publicvoidgetByIP(Stringip, JsonCallBackjsonCallBack)

返回字段同juhe.apis.weather.index(根据城市名/id查询天气)。

public void getByGEO(doublelat,doublelon,JsonCallBack jsonCallBack)

返回字段同juhe.apis.weather.index(根据城市名/id查询天气)。

public voidgetForecast3h(String cityname, JsonCallBackjsonCallBack)

返回字段:

fc17d511644e081c1ae06a3842c64421.png

publicvoidgetCities(JsonCallBackjsonCallBack)

返回字段:

3b52f8c0277ce011fb5dcba9b02872f7.png

1d4605845b3ad8e576f3efda9dd0173b.png

看完上诉内容,你们掌握聚合数据Android SDK实现天气查询的方法了吗?如果想了解更多相关内容,欢迎关注亿速云行业资讯频道!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐