这篇文章主要介绍了聚合数据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目录下,如图:


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


Java代码

/**

*根据城市名查询天气

*

*@paramcityname

*城市名,如:"苏州"

*@paramformat

*未来6天预报(future)两种返回格式,1或2,默认1

*

*@paramjsonCallBack

*

*/

publicvoidgetByCitys(Stringcityname,intformat,JsonCallBackjsonCallBack)

/**

*天气种类及标识列表

*

*@paramjsonCallBack

*

*/

publicvoidgetUni(JsonCallBackjsonCallBack)

/**

*

*根据IP查询天气

*

*@paramip

*ip地址,如:58.215.185.154

*@paramformat

*未来6天预报(future)两种返回格式,1或2,默认1

*@paramjsonCallBack

*

*/

publicvoidgetByIP(Stringip,intformat,JsonCallBackjsonCallBack)

/**

*

*根据GPS坐标查询天气

*

*

*@paramlon

*经度

*@paramlat

*纬度

*@paramformat

*未来6天预报(future)两种返回格式,1或2,默认1

*@paramjsonCallBack

*

*/

publicvoidgetByGEO(doublelat,doublelon,intformat,JsonCallBackjsonCallBack)

/**

*城市天气三小时预报

*

*@paramcityname

*@paramjsonCallBack

*

*/

publicvoidgetForecast3h(Stringcityname,JsonCallBackjsonCallBack)

/**

*支持城市列表

*

*@paramjsonCallBack

*/

publicvoidgetCities(JsonCallBackjsonCallBack)




4.程序中调用方法


首先,在AnroidManifest.xml中添加权限


Html代码

<uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/>

<uses-permissionandroid:name="android.permission.INTERNET"/>

<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>

<uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"/>

<uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"/>

<uses-permissionandroid:name="android.permission.READ_CONTACTS"/>


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


Html代码

<meta-data

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

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


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


Java代码

CommonFun.initialize(getApplicationContext());



导入相关包


Java代码

importcom.thinkland.juheapi.common.CommonFun;

importcom.thinkland.juheapi.common.JsonCallBack;

importcom.thinkland.juheapi.data.weather.WeatherData;






调用方法


Java代码

//根据城市名/id查询天气

WeatherDataweatherData=WeatherData.getInstance();

weatherData.getByCitys("苏州",1,newJsonCallBack(){

@Override

publicvoidjsonLoaded(JSONObjectarg0){

//TODOAuto-generatedmethodstub

try{

intcode=arg0.getInt("resultcode");

if(code==200){

JSONObjectresultJson=arg0.getJSONObject("result");

}

}catch(JSONExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

});





5.返回字段及相关错误码


根据城市名/id查询天气

publicvoidgetByCitys(Stringcityname, JsonCallBackjsonCallBack)

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

publicvoidgetUni(JsonCallBackjsonCallBack)


返回字段:

publicvoidgetByIP(Stringip, JsonCallBackjsonCallBack)

返回字段


publicvoidgetByIP(Stringip, JsonCallBackjsonCallBack)

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



publicvoidgetByGEO(doublelat,doublelon,JsonCallBackjsonCallBack)


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



publicvoidgetForecast3h(Stringcityname, JsonCallBackjsonCallBack)


返回字段:

publicvoidgetCities(JsonCallBackjsonCallBack)

返回字段:

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