Wear OS 中的动态表达式

Wear OS 支持动态更新显示在您的磁贴复杂功能中的信息。

使用动态表达式,您可以将显示在应用界面(例如磁贴或复杂功能)上的数据绑定到特定数据源。此类数据源的一个示例是平台可以读取的心率数据。建立此绑定后,系统会自动更新您的磁贴和复杂功能中的数据。

创建动态数据绑定

要创建动态数据绑定,请定义一个使用动态数据类型的变量。将此变量与您要使用的数据流关联。

例如,您可以获取与系统时钟和健康信息相关的数值,如下面的代码片段所示。

Kotlin

val systemTime = DynamicInstant.platformTimeWithSecondsPrecision()
val steps: DynamicInt32 = PlatformHealthSources.dailySteps()

Java

DynamicInstant systemTime = DynamicInstant.platformTimeWithSecondsPrecision();
DynamicInt32 steps = PlatformHealthSources.dailySteps();

您还可以从常量表达式创建动态值,并对任何动态值执行算术运算,如下面的代码片段所示

Kotlin

val dynamicValue = DynamicInt32.constant(1).plus(2)

Java

DynamicInt32 dynamicValue = DynamicInt32.constant(1).plus(2)

可能的动态数据类型列表

Wear OS 支持以下动态数据类型

此外,您可以使用内置功能转换数据类型,例如:

  • DynamicInt32 支持使用 format() 转换为 DynamicString
  • DynamicDuration 允许您提取特定部分,例如持续时间的秒部分,作为 DynamicInt32 对象。

每个屏幕上使用数量有限的动态表达式

系统对可在特定屏幕上同时处理的动态表达式数量有限制。系统会将任何额外的动态表达式转换为静态值。

Wear OS 也将常量表达式视为动态表达式。例如,以下代码片段包含 4 个动态表达式

  1. plus() 操作。
  2. animate() 操作。
  3. constant(1) 表达式。
  4. constant(2) 表达式,由 plus() 动态表达式中的值 2 暗示。
DynamicInt32.constant(1).plus(2).animate()