自版本 2 起,表盘格式开始支持天气数据。 这些数据涵盖一系列指标和时间范围,从当前天气状况到每小时和每日天气预报。
天气数据通过 表达式进行访问。例如,如需在当前
天气状况中显示 <Text> 元素,请使用类似于
以下内容的表达式:
<PartText x="100" y="100" width="200" height="50"> <Text> <Font family="SYNC_TO_DEVICE" size="16"> <Template><![CDATA[Today's weather: %s]]> <Parameter expression="[WEATHER.CONDITION_NAME]"/> </Template> </Font> </Text> </PartText>
可用性
在访问 [WEATHER.*] 对象的其他成员之前,请检查 [WEATHER.IS_AVAILABLE] 值:
<Condition> <Expressions> <Expression name="is_weather_available">[WEATHER.IS_AVAILABLE]</Expression> </Expressions> <Compare expression="is_weather_available"> <!-- Weather is available, so show the weather data. --> </Compare> <Default> <!-- Weather isn't available, so show an appropriate message. --> </Default> </Condition>
您还应检查 [WEATHER.IS_ERROR],它表示加载天气数据时出错。
请注意,[WEATHER.IS_AVAILABLE] 和 [WEATHER.IS_ERROR] 可能都为 true,表示数据已过时,且刷新数据的尝试失败。在这种情况下,系统可能会显示可用的天气数据,并显示一个指示器,表明在提取新数据时出错。
数据新鲜度
您可以使用 [WEATHER.LAST_UPDATED] 访问可用数据的时间戳,该时间戳是 Unix 纪元时间戳(以毫秒为单位)。
您可以使用 icuText(,) 方法对该值进行格式化,以获得人
类可读的表示形式,如 天气示例所示。
天气状况
当前天气状况可在 [WEATHER.CONDITION] 中找到,人类可读的版本可在 [WEATHER.CONDITION_NAME] 中找到。
您可以在 数据源 中查看 [WEATHER.CONDITION] 的值。例如,4 表示 HEAVY_RAIN。
其他指标
表盘格式提供了一系列其他指标,例如 [WEATHER.TEMPERATURE] 和 [WEATHER.UV_INDEX]。如需了解可用指标的完整详细信息
(包括单位和数据类型),请访问
数据源参考页面。
每小时和每日天气预报
您可以按如下方式访问未来特定小时或日期的天气预报状况:
[WEATHER.HOURS.1.CONDITION]- 1 小时后的天气预报状况。[WEATHER.DAYS.2.CONDITION]- 2 天后的天气预报状况。
每小时数据最多可提前 8 小时提供,每日数据最多可提前 5 天提供。不过,表盘应始终检查天气预报数据的可用性。在不同时间或不同设备上,可用的时间范围可能不同。例如,如需检查 1 小时后的天气预报数据是否可用,请使用 [WEATHER.HOURS.1.IS_AVAILABLE]。
每日和每小时天气预报还提供了一系列指标,例如
[WEATHER.HOURS.<N>.TEMPERATURE] 和
[WEATHER.DAYS.<N>.CHANCE_OF_PRECIPITATION]。如需了解可用指标的完整详细信息
(包括单位和数据类型),请访问
数据源参考页面。
使用天气数据进行测试
如需获取天气数据,Wear OS 设备必须知道设备位置。
为了节省电量,手表不会使用板载 GPS 传感器来确定天气预报的位置,而是依赖于来自已连接手持设备或可用网络的位置。
如需使位置数据可用于测试,请执行以下操作之一:
- 将 Wear OS 模拟器与实体手机或模拟器手机配对。
- 通过以下 adb 命令模拟位置:
adb unroot
adb shell cmd location set-location-enabled true
adb root
adb shell appops set 0 android:mock_location allow
adb shell cmd location providers add-test-provider gps
adb shell cmd location providers set-test-provider-enabled gps true
adb shell cmd location providers set-test-provider-location gps --location 37.773972,-122.431297
更多详情
如需查看访问和呈现天气数据的完整示例,请参阅 GitHub 示例。
为你推荐
- 注意:当 JavaScript 处于关闭状态时,系统会显示链接文字
- 更改焦点行为
- Compose 中的附带效应
- AGSL 快速参考