Android SDK 使用文档

下载

版本号 更新日期 MD5  
3.1 2019-06-25 efc35d689921d381e25b467d4bbc4905 下载

适配版本

Andorid 4.0及以上

工程配置

  • 解压文件,将文件夹内jar放入您的工程,并且引用
  • 配置Android Manifest 添加权限

权限列表

权限说明 代码 是否必选
允许连接网络 android.permission.INTERNET 必选
访问设备状态 android.permission.READ_PHONE_STATE 可选
访问WIFI状态 android.permission.ACCESS_WIFI_STATE 可选
访问网络定位 android.permission.ACCESS_COARSE_LOCATION 可选 ( 如果用到不传递城市参数的方法,此权限为必选,否则无法使用对应的方法 )
访问GPS定位 android.permission.ACCESS_FINE_LOCATION 可选 ( 如果用到不传递城市参数的方法,此权限为必选,否则无法使用对应的方法 )

引用库

  compile 'com.squareup.okhttp3:okhttp:3.9.0'  (3.9.0+)
  compile 'com.google.code.gson:gson:2.6.2'   (2.6.2+)

混淆

请在您的混淆文件中加入如下代码,请注意您引用的版本

// 排除okhttp
  -dontwarn com.squareup.**
  -dontwarn okio.**
  -keep public class org.codehaus.* { *; }
  -keep public class java.nio.* { *; }

// 排除HeWeather
  -dontwarn interfaces.heweather.com.interfacesmodule.**
  -keep class interfaces.heweather.com.interfacesmodule.** { *;}

接口和数据类对照

接口说明 接口代码 数据类
城市查询 getSearch Search
3-10天天气预报 getWeatherForecast Forecast
实况天气 getWeatherNow Now
逐小时预报 getWeatherHourly Hourly
生活指数 getWeatherLifeStyle Lifestyle
常规天气数据集合 getWeatherDateList Weather
格点实况天气 getWeatherGridNow GridNow
格点7天预报 getWeatherGridForecast GridForecast
格点逐小时预报 getWeatherGirdHourly GridHourly
分钟级降雨(邻近预报) getWeatherGirdMinute GirdMinute
天气灾害预警 getAlarm AlarmList
天气灾害预警集合 getAlarmAll AlarmAll
景点天气预报 getScenic Scenic
空气质量实况 getAirNow AirNow
空气质量7天预报 getAirForecast AirForecast
空气质量逐小时预报 getAirHourly AirHourly
空气质量数据集合 getAir Air
卫星云图 getMapCloudMap Bitmap or File
太阳高度 getSolarElevationAngle SolarElevationAngle
日出日落 getSolarSunriseSunset List<SolarSunriseSunset>
历史数据 getWeatherHistorical Historical

数据类属性对照

请参考这里

数据访问代码

  • 不再提供日志功能,错误信息可由回调函数 OnError 中的 Throwable 对象提供
  • 使用 SDK 时,需提前进行账户初始化(全局执行一次即可)
    HeConfig.init("Your ID", "Your Key");
    示例: HeConfig.init("HE1234567890", "237sbc65des7abc8ase0as0cb9c8c7");
  • 默认使用中国付费节点服务域名 HeConfig.switchToCNBusinessServerNode();
  • 个人开发者、企业开发者、普通用户等所有使用免费数据的用户需要切换到免费服务域名 HeConfig.switchToFreeServerNode();
  • 大客户或海外节点使用,请联系客服
  • 根据您的需求调用不同的方法,接口回调方法中的参数就是接口返回的数据类

示例

/**
 * 实况天气
 * 实况天气即为当前时间点的天气状况以及温湿风压等气象指数,具体包含的数据:体感温度、
 * 实测温度、天气状况、风力、风速、风向、相对湿度、大气压强、降水量、能见度等。
 *
 * @param context  上下文
 * @param location 地址详解
 * @param lang     多语言,默认为简体中文
 * @param unit     单位选择,公制(m)或英制(i),默认为公制单位
 * @param listener 网络访问回调接口
 */
HeWeather.getWeatherNow(MainActivity.this, "CN101010100", Lang.CHINESE_SIMPLIFIED , Unit.METRIC , new HeWeather.OnResultWeatherNowBeanListener() {
    @Override
    public void onError(Throwable e) {
        Log.i(TAG, "Weather Now onError: ", e);
    }

    @Override
    public void onSuccess(Now dataObject) {
        Log.i(TAG, " Weather Now onSuccess: " + new Gson().toJson(dataObject));
        //先判断返回的status是否正确,当status正确时获取数据,若status不正确,可查看status对应的Code值找到原因
        if ( Code.OK.getCode().equalsIgnoreCase(dataObject.getStatus()) ){
            //此时返回数据
            NowBase now = dataObject.getNow();
        } else {
            //在此查看返回数据失败的原因
            String status = dataObject.getStatus();
            Code code = Code.toEnum(status);
            Log.i(TAG, "failed code: " + code);
        }
    }
});

地址详解,location参数

权限说明 代码
不传递地址参数 SDK自动采用Android原生定位
城市ID:城市列表 location=CN101010100
经纬度格式:经度,纬度(经度在前,纬度在后英文,分隔,十进制格式,北纬东经为正,南纬西经为负 location=116.40,39.9
城市名称,城市列表 location=北京、 location=北京市、 location=beijing
城市名称,上级城市 或 省 或 国家,英文逗号分隔,此方式可以在重名的情况下只获取想要的地区的天气数据,例如 西安,陕西 location=朝阳,北京、 location=chaoyang,beijing
IP location=60.194.130.1
根据请求自动判断,根据用户的请求获取IP,通过 IP 定位并获取城市数据 location=auto_ip(固定参数)