热门IT资讯网

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

发表于:2024-11-28 作者:热门IT资讯网编辑
编辑最后更新 2024年11月28日,这篇文章主要介绍了聚合数据Android SDK实现天气查询交的方法,具有一定借鉴价值,需要的朋友可以参考下。如下资料是关于聚合数据Android SDK实现天气查询的详细步骤内容。1.到libs聚合

这篇文章主要介绍了聚合数据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代码

  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. * @param jsonCallBack

  17. *

  18. */

  19. public void getUni(JsonCallBack jsonCallBack)

  20. /**

  21. *

  22. * 根据IP查询天气

  23. *

  24. * @param ip

  25. * ip地址,如:58.215.185.154

  26. * @param format

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

  28. * @param jsonCallBack

  29. *

  30. */

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

  32. /**

  33. *

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

  35. *

  36. *

  37. * @param lon

  38. * 经度

  39. * @param lat

  40. * 纬度

  41. * @param format

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

  43. * @param jsonCallBack

  44. *

  45. */

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

  47. /**

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

  49. *

  50. * @param cityname

  51. * @param jsonCallBack

  52. *

  53. */

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

  55. /**

  56. * 支持城市列表

  57. *

  58. * @param jsonCallBack

  59. */

  60. public void getCities(JsonCallBack jsonCallBack)




4.程序中调用方法


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


Html代码

  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代码

  1. <meta-data

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

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


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


Java代码

  1. CommonFun.initialize(getApplicationContext());



导入相关包


Java代码

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

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

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






调用方法


Java代码

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

  2. WeatherData weatherData = WeatherData.getInstance();

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

  4. @Override

  5. public void jsonLoaded(JSONObject arg0) {

  6. // TODO Auto-generated method stub

  7. try {

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

  9. if (code == 200) {

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

  11. }

  12. } catch (JSONException e) {

  13. // TODO Auto-generated catch block

  14. e.printStackTrace();

  15. }

  16. }

  17. });





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


根据城市名/id查询天气

publicvoidgetByCitys(Stringcityname, JsonCallBackjsonCallBack)

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

publicvoidgetUni(JsonCallBackjsonCallBack)


返回字段:

publicvoid getByIP(Stringip, JsonCallBackjsonCallBack)

返回字段


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)


返回字段:

publicvoidgetCities(JsonCallBackjsonCallBack)

返回字段:

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

0