码迷,mamicode.com
首页 > 移动开发 > 详细

聚合数据Android SDK 天气查询演示示例

时间:2014-10-11 15:49:46      阅读:293      评论:0      收藏:0      [点我收藏+]

标签:android   api   天气查询   sdk   根目录   

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

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

bubuko.com,布布扣

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


Java代码  bubuko.com,布布扣

  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代码  bubuko.com,布布扣

  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代码  bubuko.com,布布扣

  1. <meta-data  

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

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


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


Java代码  bubuko.com,布布扣

  1. CommonFun.initialize(getApplicationContext());  



导入相关包


Java代码  bubuko.com,布布扣

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

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

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






调用方法


Java代码  bubuko.com,布布扣

  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)

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

bubuko.com,布布扣

bubuko.com,布布扣

publicvoidgetUni(JsonCallBackjsonCallBack)


返回字段:

bubuko.com,布布扣

publicvoid getByIP(Stringip, JsonCallBackjsonCallBack)

返回字段

bubuko.com,布布扣


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)


返回字段:

bubuko.com,布布扣

publicvoidgetCities(JsonCallBackjsonCallBack)

返回字段:

bubuko.com,布布扣

bubuko.com,布布扣


聚合数据Android SDK 天气查询演示示例

标签:android   api   天气查询   sdk   根目录   

原文地址:http://juheshuju.blog.51cto.com/9367578/1562501

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!