logo-square-300
下载
下载SDK
全新上线Android SDK
为您的App用户提供天气服务
开始

心知天气Android SDK简介

心知天气Android SDK是一套天气数据查询调用接口,供开发者在自己的app中便捷地获取由心知天气提供的各种气象数据。 该SDK具有如下特点:

  • 对所有注册用户免费开放使用。
  • 使用更安全的签名验证方式,确保开发者的密钥不会被泄露。
  • 可以获取用户当前套餐包含的全部数据。


版本信息:

最新SDK版本号:v1.0.1

支持Android版本:Android 4.0以上版本,API Level 14


API密钥和用户ID

SDK需要使用您的心知天气API密钥和用户ID来进行与服务端的交互,我们会保护您的密钥在网络传输过程中不被泄漏。

我的API密钥:登录后查看

API密钥(key)是用来验证API请求合法性的一个唯一字符串。

我的用户ID:登录后查看

用户ID是在注册心知会员时系统自动分配的一个随机10位的字符串,如U123456789。


开发环境配置

以下分别以Eclipse、Android Studio两种开发环境为例讲解一下心知天气SDK的配置方法。


Eclipse:

第一步:在工程中新建"libs"目录,将下载的SDK(一个jar文件)拷贝到"libs"根目录下。

注意:如果您在Eclipse上使用adt22插件,则还需要进行如下配置:

选中工程,在右键菜单上选择"Properties > Java Build Path > Order and Export",勾选"Android Private Libraries"。

第二步:在工程的"AndroidManifest.xml"文件中添加需要的权限,目前版本的SDK仅需要网络访问权限:

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

第三步:选择"Project > Clean"清除工程缓存。


Android Studio:

第一步:在工程的"app/libs"目录下放入已下载的SDK(一个jar文件)。

第二步:选择上一步中添加的jar文件,在右键菜单中选择"Add As Library"。

第三步:在工程的"AndroidManifest.xml"文件中添加需要的权限,目前版本的SDK仅需要网络访问权限:

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

示例代码

Android SDK的主要package是com.thinkpage.lib.api,其入口类为TPWeatherManager, 这个类被设计为单例,调用sharedWeatherManager()方法可以获得其实例:

TPWeatherManager weatherManager = TPWeatherManager.sharedWeatherManager();

接下来使用您的API密钥和用户ID对TPWeatherManager实例进行初始化:

weatherManager.initWithKeyAndUserId("My_Api_Key","My_User_Name");

TPWeatherManager提供了一组方法,用于获取心知天气提供的各类气象数据。 下面是一个完整的例子,创建TPWeatherManager实例并获取当前北京的实况天气:

TPWeatherManager weatherManager = TPWeatherManager.sharedWeatherManager();
//使用心知天气官网获取的key和用户id初始化WeatherManager
weatherManager.initWithKeyAndUserId("My_Api_Key","My_User_Name");

// 获取北京当前天气,使用简体中文、摄氏度
weatherManager.getWeatherNow(new TPCity("beijing")
    , TPWeatherManager.TPWeatherReportLanguage.kSimplifiedChinese
    , TPWeatherManager.TPTemperatureUnit.kCelsius
    , new TPListeners.TPWeatherNowListener() {
      @Override
      public void onTPWeatherNowAvailable(TPWeatherNow weatherNow, String errorInfo) {
        if (weatherNow != null) {
          //weatherNow 就是返回的当前天气信息。
          log(weatherNow.text); //获取天气文本,例如“晴”、“多云”
          log(weatherNow.windDirection);  //获取当前风向,例如“西北”
          log(weatherNow.feelsLikeTemperature); //获取当前体感温度
        } else {
          log(errorInfo); //错误信息
        }
});
天气

天气实况

包:com.thinkpage.lib.api

类:TPWeatherManager

方法:public void getWeatherNow(TPCity city, TPWeatherReportLanguage language, TPTemperatureUnit unit, TPListeners.TPWeatherNowListener listener)

说明:获取指定城市的实况天气。

参数:

city
要查询的地点,详见TPCity
language
返回数据的语言,详见TPWeatherReportLanguage
unit
返回数据的温度单位,详见TPTemperatureUnit
listener
监听器对象。该监听器仅有一个由调用者实现的方法onTPWeatherNowAvailable(TPWeatherNow weatherNow, String errorInfo); 第一个参数weatherNow包含了所请求的天气信息:
public class TPWeatherNow
{
  // 天气现象文字,例如“多云”
  public String text;
  // 天气现象代码,例如“4”
  public String code;
  // 温度,单位为c摄氏度或f华氏度
  public int temperature;
  // 体感温度,单位为c摄氏度或f华氏度
  public int feelsLikeTemperature;
  // 气压。单位为mb百帕或in英寸
  public double pressure;
  // 相对湿度,范围0~1
  public double humidity;
  // 能见度,单位为km公里或mi英里
  public double visibility;
  // 风向文字,例如“西北”
  public String windDirection;
  // 风向角度,范围0~360,0为正北,90为正东,180为正南,270为正西
  public int windDirectionDegree;
  // 风速,单位为km/h公里每小时或mph英里每小时
  public double windSpeed;
  // 风力等级
  public double windScale;
  // 云量,范围0~100,天空被云覆盖的百分比
  public double clouds;
  // 露点温度
  public int dewPoint;

  // 数据更新时间(该城市的本地时间)
  public Date lastUpdateDate;
}
当发生错误时,错误信息由第二个参数errorInfo返回。

逐日预报和历史

包:com.thinkpage.lib.api

类:TPWeatherManager

方法:public void getWeatherDailyArray(TPCity city, TPWeatherReportLanguage language, TPTemperatureUnit unit, Date startDate, int days, TPListeners.TPWeatherDailyListener listener)

说明:获取指定城市未来最多15天的每日白天和夜间预报,以及昨天的历史数据。

参数:

city
要查询的地点,详见TPCity
language
返回数据的语言,详见TPWeatherReportLanguage
unit
返回数据的温度单位,详见TPTemperatureUnit
startDate
所查询的起始日期
days
所查询的天数
listener
监听器对象。该监听器仅有一个由调用者实现的方法onTPWeatherDailyAvailable(TPWeatherDaily[] weatherDailies, String errorInfo); 第一个参数weatherDailies是个数组,包含了所请求的天气信息:
public class TPWeatherDaily {
  // 日期
  public Date date;
  // 白天天气现象文字
  public String textDay;
  // 白天天气现象代码
  public String codeDay;
  // 晚间天气现象文字
  public String textNight;
  // 晚间天气现象代码
  public String codeNight;
  // 当天最高温度
  public int highTemperature;
  // 当天最低温度
  public int lowTemperature;
  // 降水概率,范围0~100,单位百分比
  public double chanceOfRain;
  // 风向文字
  public String windDirection;
  // 风向角度,范围0~360
  public int windDirectionDegree;
  // 风速,单位km/h(当unit=c时)、mph(当unit=f时)
  public double windSpeed;
  // 风力等级
  public double windScale;
}
当发生错误时,错误信息由第二个参数errorInfo返回。

24小时逐小时预报

包:com.thinkpage.lib.api

类:TPWeatherManager

方法:public void getWeatherHourlyArray(TPCity city, TPWeatherReportLanguage language, TPTemperatureUnit unit, int startHourOffset, int hours, TPListeners.TPWeatherHourlyListener listener)

说明:获取指定城市未来最多24小时的逐小时预报。目前仅支持中国城市。

参数:

city
要查询的地点,详见TPCity
language
返回数据的语言,详见TPWeatherReportLanguage
unit
返回数据的温度单位,详见TPTemperatureUnit
startHourOffset
所查询的起始其实时间距离现在的小时数,例如0代表这个小时、1代表下个小时
hours
所查询的小时数
listener
监听器对象。该监听器仅有一个由调用者实现的方法onTPWeatherHourlyAvailable(TPWeatherHourly[] weatherHourlies, String errorInfo); 第一个参数weatherHourlies是个数组,包含了所请求的天气信息:
public class TPWeatherHourly {
  // 时间
  public Date date;
  // 天气现象文字
  public String text;
  // 天气现象代码
  public String code;
  // 温度,单位为c摄氏度或f华氏度
  public int temperature;
}
当发生错误时,错误信息由第二个参数errorInfo返回。

过去24小时天气历史纪录

包:com.thinkpage.lib.api

类:TPWeatherManager

方法:public void getWeatherHistoryHourlyArray(TPCity city, TPWeatherReportLanguage language, TPTemperatureUnit unit, TPListeners.TPWeatherHistoryHourlyListener listener)

说明:获取指定城市过去24小时逐时的天气历史记录。

参数:

city
要查询的地点,详见TPCity
language
返回数据的语言,详见TPWeatherReportLanguage
unit
返回数据的温度单位,详见TPTemperatureUnit
listener
监听器对象。该监听器仅有一个由调用者实现的方法onTPWeatherHistoryHourlyAvailable(TPWeatherHistoryHourly[] weatherHistoryHourlies, String errorInfo); 第一个参数weatherHistoryHourlies是个数组,包含了所请求的天气信息:
public class TPWeatherHistoryHourly {
  // 天气现象文字,例如“多云”
  public String text;
  // 天气现象代码,例如“4”
  public String code;
  // 温度,单位为c摄氏度或f华氏度
  public int temperature;
  // 体感温度,单位为c摄氏度或f华氏度
  public int feelsLikeTemperature;
  // 气压。单位为mb百帕或in英寸
  public double pressure;
  // 相对湿度,范围0~1
  public double humidity;
  // 能见度,单位为km公里或mi英里
  public double visibility;
  // 风向文字,例如“西北”
  public String windDirection;
  // 风向角度,范围0~360,0为正北,90为正东,180为正南,270为正西
  public int windDirectionDegree;
  // 风速,单位为km/h公里每小时或mph英里每小时
  public double windSpeed;
  // 风力等级
  public double windScale;
  // 云量,范围0~100,天空被云覆盖的百分比
  public double clouds;
  // 露点温度
  public int dewPoint;

  // 数据更新时间(该城市的本地时间)
  public Date lastUpdateDate;
}
当发生错误时,错误信息由第二个参数errorInfo返回。

气象灾害预警

包:com.thinkpage.lib.api

类:TPWeatherManager

方法:public void getWeatherAlarms(TPCity city, TPListeners.TPWeatherAlarmListener listener)

说明:获取指定城市的气象灾害预警信息。

参数:

city
要查询的地点,详见TPCity
listener
监听器对象。该监听器仅有一个由调用者实现的方法onTPWeatherAlarmAvailable(TPWeatherAlarm[] weatherAlarms, String errorInfo); 第一个参数weatherAlarms是个数组,包含了所请求的天气信息:
public class TPWeatherAlarm {
  // 灾害预警标题
  public String title;
  // 灾害预警标题
  public String type;
  // 灾害级别
  public String level;
  // 预警状体
  public String status;
  // 详细描述
  public String description;

  // 发布时间
  public Date publishingDate;
}
当发生错误时,错误信息由第二个参数errorInfo返回。
空气质量

空气质量实况

包:com.thinkpage.lib.api

类:TPWeatherManager

方法:public void getAirQualities(TPCity city, TPWeatherReportLanguage language, TPListeners.TPAirQualityListener listener)

说明:获取指定城市的AQI、PM2.5、PM10、一氧化碳、二氧化氮、臭氧等空气质量信息。

参数:

city
要查询的地点,详见TPCity
language
返回数据的语言,详见TPWeatherReportLanguage
listener
监听器对象。该监听器仅有一个由调用者实现的方法onTPAirQualityAvailable(TPAirQuality[] airQualities, String errorInfo); 第一个参数airQualities是个数组,包含了所请求的空气质量信息:
public class TPAirQuality {
  // 空气质量数据来源,分为城市和气象站两种
  public enum TPAirQualityType{kTPAirQualityTypeCity, kTPAirQualityTypeStation};

  // 数据来源
  public TPAirQualityType type;
  // 空气质量指数(AQI)是描述空气质量状况的定量指数
  public double aqi;
  // PM2.5颗粒物(粒径小于等于2.5μm)1小时平均值。单位:μg/m³
  public double pm25;
  // PM10颗粒物(粒径小于等于10μm)1小时平均值。单位:μg/m³
  public double pm10;
  // 二氧化硫1小时平均值。单位:μg/m³
  public double so2;
  // 二氧化氮1小时平均值。单位:μg/m³
  public double no2;
  // 一氧化碳1小时平均值。单位:mg/m³
  public double co;
  // 臭氧1小时平均值。单位:μg/m³
  public double o3;
  // 空气质量类别,有“优、良、轻度污染、中度污染、重度污染、严重污染”6类
  public String quality;
  // 监测站名称,当且仅当type==kTPAirQualityTypeStation时有效
  public String station;
  // 数据发布时间
  public Date lastUpdateDate;
}
当发生错误时,错误信息由第二个参数errorInfo返回。

空气质量实况城市排行

包:com.thinkpage.lib.api

类:TPWeatherManager

方法:public void getAirRanking(TPWeatherReportLanguage language, TPListeners.TPAirRankingListener listener)

说明:获取全国城市空气质量AQI排行榜。

参数:

language
返回数据的语言,详见TPWeatherReportLanguage
listener
监听器对象。该监听器仅有一个由调用者实现的方法onAirRankingAvailable(TPAirRankingCity[] airRankingCities, String errorInfo); 第一个参数airRankingCities是个数组,包含了所请求的城市排行信息:
public class TPAirRankingCity {
  // 城市详细信息
  public TPCityInformation cityInformation;
  // 城市AQI数据
  public double aqi;
}
当发生错误时,错误信息由第二个参数errorInfo返回。

逐日空气质量预报

包:com.thinkpage.lib.api

类:TPWeatherManager

方法:public void getAirDaily(TPCity city, TPWeatherReportLanguage language, int days, TPListeners.TPAirDailyListener listener)

说明:获取指定城市未来最多7天的每日AQI预报。

参数:

city
要查询的地点,详见TPCity
language
返回数据的语言,详见TPWeatherReportLanguage
days
获取空气质量预报的总天数,从当天算起
listener
监听器对象。该监听器仅有一个由调用者实现的方法onAirDailyAvailable(TPAirDaily[] airDailyArray, String errorInfo); 第一个参数airDailyArray是个数组,包含了所请求的空气质量信息:
public class TPAirDaily {
  // 空气质量指数(AQI)是描述空气质量状况的定量指数
  public double aqi;
  // PM2.5颗粒物(粒径小于等于2.5μm)预报值。单位:μg/m³
  public double pm25;
  // PM10颗粒物(粒径小于等于10μm)预报值。单位:μg/m³
  public double pm10;
  // 二氧化硫预报值。单位:μg/m³
  public double so2;
  // 二氧化氮预报值。单位:μg/m³
  public double no2;
  // 一氧化碳预报值。单位:mg/m³
  public double co;
  // 臭氧预报值。单位:μg/m³
  public double o3;
  // 空气质量类别,有“优、良、轻度污染、中度污染、重度污染、严重污染”6类
  public String quality;
  // 预报日期
  public Date date;
}
当发生错误时,错误信息由第二个参数errorInfo返回。

逐小时空气质量预报

包:com.thinkpage.lib.api

类:TPWeatherManager

方法:public void getAirHourly(TPCity city, TPWeatherReportLanguage language, int days, TPListeners.TPAirHourlyListener listener)

说明:获取指定城市未来最多7天的每小时AQI预报。

参数:

city
要查询的地点,详见TPCity
language
返回数据的语言,详见TPWeatherReportLanguage
days
获取空气质量预报的总天数,从当天算起
listener
监听器对象。该监听器仅有一个由调用者实现的方法onAirHourlyAvailable(TPAirHourly[] airHourlyArray, String errorInfo); 第一个参数airHourlyArray是个数组,包含了所请求的空气质量信息:
public class TPAirHourly {
  // 空气质量指数(AQI)是描述空气质量状况的定量指数
  public double aqi;
  // PM2.5颗粒物(粒径小于等于2.5μm)预报值。单位:μg/m³
  public double pm25;
  // PM10颗粒物(粒径小于等于10μm)预报值。单位:μg/m³
  public double pm10;
  // 二氧化硫预报值。单位:μg/m³
  public double so2;
  // 二氧化氮预报值。单位:μg/m³
  public double no2;
  // 一氧化碳预报值。单位:mg/m³
  public double co;
  // 臭氧预报值。单位:μg/m³
  public double o3;
  // 空气质量类别,有“优、良、轻度污染、中度污染、重度污染、严重污染”6类
  public String quality;
  // 预报时间
  public Date time;
}
当发生错误时,错误信息由第二个参数errorInfo返回。

过去24小时空气质量历史记录

包:com.thinkpage.lib.api

类:TPWeatherManager

方法:public void getHistoryHourlyAirQualities(TPCity city, TPWeatherReportLanguage language, TPListeners.TPHistoryHourlyAirQualityListener listener)

说明:获取指定城市过去24小时逐时的AQI、PM2.5、PM10、一氧化碳、二氧化氮、臭氧等空气质量信息。

参数:

city
要查询的地点,详见TPCity
language
返回数据的语言,详见TPWeatherReportLanguage
listener
监听器对象。该监听器仅有一个由调用者实现的方法onHistoryHourlyTPAirQualityAvailable(TPAirQuality[][] airQualities, String errorInfo); 第一个参数airQualities是个二维数组,包含了所请求的空气质量信息:
public class TPAirQuality {
  // 空气质量数据来源,分为城市和气象站两种
  public enum TPAirQualityType{kTPAirQualityTypeCity, kTPAirQualityTypeStation};

  // 数据来源
  public TPAirQualityType type;
  // 空气质量指数(AQI)是描述空气质量状况的定量指数
  public double aqi;
  // PM2.5颗粒物(粒径小于等于2.5μm)1小时平均值。单位:μg/m³
  public double pm25;
  // PM10颗粒物(粒径小于等于10μm)1小时平均值。单位:μg/m³
  public double pm10;
  // 二氧化硫1小时平均值。单位:μg/m³
  public double so2;
  // 二氧化氮1小时平均值。单位:μg/m³
  public double no2;
  // 一氧化碳1小时平均值。单位:mg/m³
  public double co;
  // 臭氧1小时平均值。单位:μg/m³
  public double o3;
  // 空气质量类别,有“优、良、轻度污染、中度污染、重度污染、严重污染”6类
  public String quality;
  // 监测站名称,当且仅当type==kTPAirQualityTypeStation时有效
  public String station;
  // 数据发布时间
  public Date lastUpdateDate;
}
当发生错误时,错误信息由第二个参数errorInfo返回。
生活

生活指数

包:com.thinkpage.lib.api

类:TPWeatherManager

方法:public void getLifeSuggestion(TPCity city, TPWeatherReportLanguage language, TPListeners.TPLifeSuggestionListener listener)

说明:获取指定城市的基本、交通、生活、运动、健康5大类共27项生活指数。目前仅支持中国城市。

参数:

city
要查询的地点,详见TPCity
language
返回数据的语言,详见TPWeatherReportLanguage
listener
监听器对象。该监听器仅有一个由调用者实现的方法onLifeSuggestionAvailable(TPLifeSuggestion lifeSuggestion, String errorInfo); 第一个参数lifeSuggestion包含了所请求的天气信息:
public class TPLifeSuggestion {
  // 单项生活指数对象
  public static class TPLifeSuggestionItem {
      // 简要建议
      public String brief;
      // 详细建议
      public String details;
  };

  // 空调建议
  public TPLifeSuggestionItem airCondition;
  // 空气污染建议
  public TPLifeSuggestionItem airPollution;
  // 晾晒
  public TPLifeSuggestionItem airing;
  // 过敏
  public TPLifeSuggestionItem allergy;
  // 啤酒
  public TPLifeSuggestionItem beer;
  // 划船
  public TPLifeSuggestionItem boating;
  // 洗车
  public TPLifeSuggestionItem carWashing;
  // 风寒
  public TPLifeSuggestionItem chill;
  // 舒适度
  public TPLifeSuggestionItem comfort;
  // 约会
  public TPLifeSuggestionItem dating;
  // 穿衣
  public TPLifeSuggestionItem dressing;
  // 钓鱼
  public TPLifeSuggestionItem fishing;
  // 感冒
  public TPLifeSuggestionItem flu;
  // 美发
  public TPLifeSuggestionItem hairDressing;
  // 放风筝
  public TPLifeSuggestionItem kiteflying;
  // 化妆
  public TPLifeSuggestionItem makeup;
  // 心情
  public TPLifeSuggestionItem mood;
  // 晨练
  public TPLifeSuggestionItem morningSport;
  // 夜生活
  public TPLifeSuggestionItem nightLife;
  // 路况
  public TPLifeSuggestionItem roadCondition;
  // 购物
  public TPLifeSuggestionItem shopping;
  // 运动
  public TPLifeSuggestionItem sport;
  // 防晒
  public TPLifeSuggestionItem sunscreen;
  // 交通
  public TPLifeSuggestionItem traffic;
  // 旅游
  public TPLifeSuggestionItem travel;
  // 雨伞
  public TPLifeSuggestionItem umbrella;
  // 紫外线
  public TPLifeSuggestionItem ultraviolet;

  // 数据发布时间
  public Date lastUpdateDate;
}
当发生错误时,错误信息由第二个参数errorInfo返回。

农历、节气、生肖

包:com.thinkpage.lib.api

类:TPWeatherManager

方法:public void getChineseCalendarDates(TPWeatherReportLanguage language, Date startDate, int days, TPListeners.TPChineseCalendarDateListener listener)

说明:查询任何一个公历日期对应的农历日期、农历传统节假日、二十四节气、天干地支纪年纪月纪日、及生肖属相。

参数:

language
返回数据的语言,详见TPWeatherReportLanguage
startDate
查询的起始日期
days
查询的天数
listener
监听器对象。该监听器仅有一个由调用者实现的方法onChineseCalendarDateAvailable(TPChineseCalendarDate[] chineseDates, String errorInfo); 第一个参数chineseDates是个数组,包含了所请求的农历节气信息:
public class TPChineseCalendarDate {
  // 日期
  public Date date;
  // 生肖属相
  public String zodiac;
  // 干支纪年
  public String ganzhiYear;
  // 干支纪月
  public String ganzhiMonth;
  // 干支纪日
  public String ganzhiDay;
  // 农历年
  public String lunarYear;
  // 农历月
  public String lunarMonth;
  // 农历日
  public String lunarDay;
  // 农历月中文名
  public String lunarMonthName;
  // 农历日中文名
  public String lunarDayName;
  // 农历闰月所在月份,0表示无闰月
  public String lunarLeapMonth;
  // 农历节假日,如:春节、端午、中秋等
  public String lunarFestival;
  // 二十四节气名,如:冬至、小寒、大寒、立春等
  public String solarTerm;
}
当发生错误时,错误信息由第二个参数errorInfo返回。

机动车尾号限行

包:com.thinkpage.lib.api

类:TPWeatherManager

方法:public void getDrivingRestriction(TPCity city, TPListeners.TPDrivingRestrictionListener listener)

说明:查询北京、天津、哈尔滨、成都、杭州、贵阳、长春、兰州8个城市的今天、明天和后天的机动车尾号限行数据。

参数:

city
要查询的地点,详见TPCity
listener
监听器对象。该监听器仅有一个由调用者实现的方法onDrivingRestrictionAvailable(TPDrivingRestriction drivingRestriction, String errorInfo); 第一个参数drivingRestriction包含了所请求的交通请求信息:
public class TPDrivingRestriction {
  // 尾号限行数据
  public static class TPDrivingRestrictionItem {
      // 日期
      public Date date;
      // 被限行的尾号
      public String[] plates;
      // 限行类型,其他城市可能是“日期尾号限行”、“单双号限行”等
      public String memo;
  };

  // 处罚规定
  public String penalty;
  // 限行区域
  public String region;
  // 详细说明
  public String remarks;
  // 单日尾号限行数据
  public TPDrivingRestrictionItem[] restrictionItems;
}
当发生错误时,错误信息由第二个参数errorInfo返回。
地理

日出日落

包:com.thinkpage.lib.api

类:TPWeatherManager

方法:public void getSunInformation(TPCity city, TPWeatherReportLanguage language, Date startDate, int days, TPListeners.TPSunInformationListener listener)

说明:查询全球城市每天日出日落时间。

参数:

city
要查询的地点,详见TPCity
language
返回数据的语言,详见TPWeatherReportLanguage
startDate
查询的开始日期
days 查询的天数
listener
监听器对象。该监听器仅有一个由调用者实现的方法onSunInformationAvailable(TPSunInformation[] sunInformationArray, String errorInfo); 第一个参数sunInformationArray是一个数组,包含了所请求的日出日落信息:
public class TPSunInformation {
  // 日出时间
  public Date sunriseDate;
  // 日落时间
  public Date sunsetDate;
}
当发生错误时,错误信息由第二个参数errorInfo返回。

月升月落和月相

包:com.thinkpage.lib.api

类:TPWeatherManager

方法:public void getMoonInformation(TPCity city, TPWeatherReportLanguage language, Date startDate, int days, TPListeners.TPSunInformationListener listener)

说明:查询全球城市每天月出月落时间和月相。

参数:

city
要查询的地点,详见TPCity
language
返回数据的语言,详见TPWeatherReportLanguage
startDate
查询的开始日期
days 查询的天数
listener
监听器对象。该监听器仅有一个由调用者实现的方法onMoonInformationAvailable(TPMoonInformation[] moonInformationArray, String errorInfo); 第一个参数moonInformationArray是一个数组,包含了所请求的日出日落信息:
public class TPMoonInformation {
  // 月升时间
  public Date moonriseDate;
  // 月落时间
  public Date moonsetDate;
  // 月球被照明部分比例,范围0~1
  public double fraction;
  // 月相,范围0~1
  public double phase;
  // 月相名称
  public String phaseName;
}
当发生错误时,错误信息由第二个参数errorInfo返回。
位置

包:com.thinkpage.lib.api

类:TPWeatherManager

方法:public void getCityInformation(TPCity city, TPWeatherReportLanguage language, int limit, int offset, TPListeners.TPCityInformationListener listener)

说明:根据城市ID、中文、英文、拼音、IP、经纬度搜索匹配的城市。

参数:

city
要查询的地点,详见TPCity
language
返回数据的语言,详见TPWeatherReportLanguage
limit
当符合条件的搜索结果较多时可以分页返回,这个参数指定分页每页最多记录数
offset
分页初始位置跳过的记录数
listener
监听器对象。该监听器仅有一个由调用者实现的方法onCityInformationAvailable(TPCityInformation[] cityInformationArray, String errorInfo); 第一个参数cityInformationArray是一个数组,包含了所请求的城市信息:
public class TPCityInformation {
  // 城市ID
  public String cityid;
  // 城市名称
  public String name;
  // 国家代码
  public String countryCode;
  // 隶属层级,从小到大, 例如“海淀,北京,中国”
  public String affiliations;
  // IANA标准时区名称(该名称不受夏令时影响)
  public String timezone;
  // 相对于UTC时区的偏移量(采用夏令时的城市会因夏令时而变化)
  public String timezoneOffset;
}
当发生错误时,错误信息由第二个参数errorInfo返回。
对象

TPCity

说明:

指定一个要查询的城市,通常用来作为函数的参数。

构造方法:

使用城市名创建一个TPCity对象:

public static TPCity cityWithName(String name);

使用城市ID创建一个TPCity对象:

public static TPCity cityWithId(String cityId);

使用地理坐标创建一个TPCity对象:

public static TPCity cityWithLocation(Location location);

使用IP地址创建一个TPCity对象:

public static TPCity cityWithIPAddress(String ipAddress);

创建一个自动识别地址的TPCity对象:

public static TPCity cityWithAutoRecognization();

TPWeatherReportLanguage

说明:

TPWeatherManager的内部枚举,指定返回的气象数据使用的语言,通常作为函数的参数。

定义:

public enum TPWeatherReportLanguage {
  // 英文
  kEnglish,
  // 简体中文
  kSimplifiedChinese,
  // 繁体中文
  kTraditionalChinese
};

TPTemperatureUnit

说明:

TPWeatherManager的内部枚举,指定返回的气象数据使用的温度单位,通常作为函数的参数。

定义:

public enum TPTemperatureUnit {
  // 温度:c(摄氏度), 风速: km/h(千米/小时), 能见度:km(千米), 气压:mb(百帕)
  kCelsius,
  // 温度:f(华氏度), 风速: mph(英里/小时), 能见度:mi(英里), 气压:in(英寸)
  kFahrenheit
};