聚合数据Android SDK实现天气查询
这篇文章主要介绍了聚合数据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)返回字段
返回字段同juhe.apis.weather.index(根据城市名/id查询天气)。
publicvoidgetByGEO(doublelat,doublelon,JsonCallBackjsonCallBack)
返回字段同juhe.apis.weather.index(根据城市名/id查询天气)。
publicvoidgetForecast3h(Stringcityname, JsonCallBackjsonCallBack)
返回字段:
publicvoidgetCities(JsonCallBackjsonCallBack)
返回字段:
看完上诉内容,你们掌握聚合数据Android SDK实现天气查询的方法了吗?如果想了解更多相关内容,欢迎关注亿速云行业资讯频道!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。