温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-05-08 14:04:37 来源:亿速云 阅读:285 作者: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目录下,如图:

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

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


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

  1. /** 

  2.      * 根据城市名查询天气 

  3.      *  

  4.      * @param cityname 

  5.      *            城市名,如:"苏州" 

  6.      * @param format 

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

  8.      * 

  9.      * @param jsonCallBack 

  10.      *  

  11.      */  

  12.     public void getByCitys(String cityname, int format, JsonCallBack jsonCallBack)   

  13.   

  14. /** 

  15.      * 天气种类及标识列表 

  16.      *  

  17.      * @param jsonCallBack 

  18.      *  

  19.      */  

  20.     public void getUni(JsonCallBack jsonCallBack)   

  21.   

  22. /** 

  23.      *  

  24.      * 根据IP查询天气 

  25.      *  

  26.      * @param ip 

  27.      *            ip地址,如:58.215.185.154 

  28.      * @param format 

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

  30.      * @param jsonCallBack 

  31.      *  

  32.      */  

  33.     public void getByIP(String ip, int format, JsonCallBack jsonCallBack)  

  34.   

  35. /** 

  36.      *  

  37.      * 根据GPS坐标查询天气 

  38.      *  

  39.      *  

  40.      * @param lon 

  41.      *            经度 

  42.      * @param lat 

  43.      *            纬度 

  44.      * @param format 

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

  46.      * @param jsonCallBack 

  47.      *  

  48.      */  

  49.     public void getByGEO(double lat, double lon, int format, JsonCallBack jsonCallBack)   

  50.   

  51. /** 

  52.      * 城市天气三小时预报 

  53.      *  

  54.      * @param cityname 

  55.      * @param jsonCallBack 

  56.      *  

  57.      */  

  58.     public void getForecast3h(String cityname, JsonCallBack jsonCallBack)   

  59.   

  60. /** 

  61.      * 支持城市列表 

  62.      *  

  63.      * @param jsonCallBack 

  64.      */  

  65.     public void getCities(JsonCallBack jsonCallBack)   




4.程序中调用方法


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


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

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

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

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

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

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

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


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


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

  1. <meta-data  

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

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


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


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

  1. CommonFun.initialize(getApplicationContext());  



导入相关包


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

  1. import com.thinkland.juheapi.common.CommonFun;  

  2. import com.thinkland.juheapi.common.JsonCallBack;  

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






调用方法


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

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

  2.         WeatherData weatherData = WeatherData.getInstance();  

  3.         weatherData.getByCitys("苏州"1new JsonCallBack() {  

  4.   

  5.             @Override  

  6.             public void jsonLoaded(JSONObject arg0) {  

  7.                 // TODO Auto-generated method stub  

  8.                 try {  

  9.                     int code = arg0.getInt("resultcode");  

  10.                     if (code == 200) {  

  11.                         JSONObject resultJson = arg0.getJSONObject("result");  

  12.                     }  

  13.                 } catch (JSONException e) {  

  14.                     // TODO Auto-generated catch block  

  15.                     e.printStackTrace();  

  16.                 }  

  17.             }  

  18.         });  





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


根据城市名/id查询天气

publicvoidgetByCitys(Stringcityname, JsonCallBackjsonCallBack)

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

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

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

publicvoidgetUni(JsonCallBackjsonCallBack)


返回字段:

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

publicvoid getByIP(Stringip, JsonCallBackjsonCallBack)

返回字段

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


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)


返回字段:

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

publicvoidgetCities(JsonCallBackjsonCallBack)

返回字段:

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

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

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI