Expresiones dinámicas en Wear OS

Wear OS admite actualizaciones dinámicas de la información que aparece en las tarjetas y las complicaciones.

Con expresiones dinámicas, puedes vincular los datos que aparecen en una plataforma de tu app, como una tarjeta o una complicación, a una fuente de datos específica. Un ejemplo de esta fuente de datos son los datos de frecuencia cardíaca que puede leer la plataforma. Después de establecer esta vinculación, el sistema actualiza automáticamente los datos de tus tarjetas y complicaciones.

Cómo crear vinculaciones de datos dinámicas

Para crear una vinculación de datos dinámica, define una variable que use un tipo de datos dinámico. Asocia esta variable al flujo de datos que deseas usar.

Por ejemplo, puedes recuperar valores relacionados con el reloj y la información de estado del sistema, como se muestra en el siguiente fragmento de código.

Kotlin

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

Java

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

También puedes crear valores dinámicos a partir de expresiones constantes y realizar operaciones aritméticas en cualquier valor dinámico, como se muestra en el siguiente fragmento:

Kotlin

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

Java

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

Lista de posibles tipos de datos dinámicos

Wear OS admite los siguientes tipos de datos dinámicos:

Además, puedes transformar el tipo de datos usando funciones integradas, como las siguientes:

  • DynamicInt32 admite la conversión a DynamicString usando format().
  • DynamicDuration te permite extraer partes específicas, como la parte de segundos de una duración, como objetos DynamicInt32.

Cómo usar una cantidad limitada de expresiones dinámicas en cada pantalla

El sistema tiene un límite para la cantidad de expresiones dinámicas que puede procesar simultáneamente en una pantalla en particular. El sistema convierte las expresiones dinámicas adicionales en valores estáticos.

Wear OS considera que las expresiones constantes también son expresiones dinámicas. Por ejemplo, el siguiente fragmento de código contiene 4 expresiones dinámicas:

  1. La operación plus()
  2. La operación animate()
  3. La expresión constant(1)
  4. La expresión constant(2), que está implícita por el valor 2 en la expresión dinámica plus()
DynamicInt32.constant(1).plus(2).animate()