博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android手机集成天气预报功能方案:全国天气预报API调用
阅读量:6813 次
发布时间:2019-06-26

本文共 2595 字,大约阅读时间需要 8 分钟。

今天要分享的是Android手机设备集成天气预报功能的方案。我采用的方案是使用聚合数据上的全国天气预报API。如需要,可申请:

实现步骤:
1.到聚合数据官网上注册,然后申请申请全国天气预报SDK数据,生成AppKey。
2.配置工程,将开发包里的juhe_sdk_v_1_1.jar拷贝到libs根目录下,将libJuheSDK_v_1_0.so拷贝到libsarmeabi目录下,如图:
35284624_201607221458450582303196.png
3.根据接口说明文档找到以下方法:

/**       * 根据城市名查询天气       *        * @param cityname       *            城市名,如:"苏州"       * @param format       *            未来6天预报(future)两种返回格式,1或2,默认1       *       * @param jsonCallBack       *        */      public void getByCitys(String cityname, int format, JsonCallBack jsonCallBack) /**       * 天气种类及标识列表       *        * @param jsonCallBack       *        */      public void getUni(JsonCallBack jsonCallBack) /**       *        * 根据IP查询天气       *        * @param ip       *            ip地址,如:58.215.185.154       * @param format       *            未来6天预报(future)两种返回格式,1或2,默认1       * @param jsonCallBack       *        */      public void getByIP(String ip, int format, JsonCallBack jsonCallBack)/**       *        * 根据GPS坐标查询天气       *        *        * @param lon       *            经度       * @param lat       *            纬度       * @param format       *            未来6天预报(future)两种返回格式,1或2,默认1       * @param jsonCallBack       *        */      public void getByGEO(double lat, double lon, int format, JsonCallBack jsonCallBack) /**       * 城市天气三小时预报       *        * @param cityname       * @param jsonCallBack       *        */      public void getForecast3h(String cityname, JsonCallBack jsonCallBack) /**       * 支持城市列表       *        * @param jsonCallBack       */      public void getCities(JsonCallBack jsonCallBack)

4.程序中调用方法

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

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

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

CommonFun.initialize(getApplicationContext());

导入相关包

impimport com.thinkland.juheapi.common.CommonFun;import   com.thinkland.juheapi.common.JsonCallBack;import   com.thinkland.juheapi.data.weather.WeatherData

调用方法

//根据城市名/id查询天气          WeatherData weatherData = WeatherData.getInstance();          weatherData.getByCitys("苏州", 1, new JsonCallBack() {                @Override              public void jsonLoaded(JSONObject arg0) {                  // TODO Auto-generated method stub                  try {                      int code = arg0.getInt("resultcode");                      if (code == 200) {                          JSONObject resultJson = arg0.getJSONObject("result");                      }                  } catch (JSONException e) {                      // TODO Auto-generated catch block                      e.printStackTrace();                  }              }          });

转载地址:http://hmzzl.baihongyu.com/

你可能感兴趣的文章
区块链教程Fabric1.0源代码分析ledgerID数据库-兄弟连区块链教程
查看>>
轻松上云系列之二:其他云数据迁移至阿里云
查看>>
sql server 高可用性技术总结
查看>>
Robot Framework之分层测试流程
查看>>
学习ASP.NET Core Razor 编程系列七——修改列表页面
查看>>
PostgreSQL 10.1 手册_部分 III. 服务器管理_第 23 章 本地化_23.3. 字符集支持
查看>>
读Kafka Consumer源码
查看>>
Android Robolectric使用
查看>>
WPF中的多进程(Threading)处理实例(二)
查看>>
redis 系列7 数据结构之跳跃表
查看>>
Jmeter二次开发环境搭建
查看>>
Mysql 用中间件atlas进行读写分离(学习笔记十四)
查看>>
想要保护自主品牌知识产权需要了解商标注册的一些技巧
查看>>
获取图片的长和宽
查看>>
Java基础算法详解
查看>>
OpenCV3 自动白平衡:灰度世界和完美反射算法
查看>>
Gradle特殊用法
查看>>
[雪峰磁针石博客]2018最佳人工智能数据采集(爬虫)工具书下载
查看>>
手把手学IOT服务端API编程[3、查询产品]|MVP讲堂
查看>>
Java 8新特性
查看>>