Expressões dinâmicas no Wear OS

O Wear OS oferece suporte a atualizações dinâmicas de informações que aparecem nos Blocos e nas complicações.

Com as expressões dinâmicas, é possível vincular dados que aparecem em uma superfície do app, como um Bloco ou uma complicação, a uma fonte de dados específica. Um exemplo desse tipo de fonte são os dados de frequência cardíaca que a plataforma pode ler. Depois que você estabelecer essa vinculação, o sistema vai atualizar os dados nos Blocos e nas complicações automaticamente.

Criar vinculações de dados dinâmicas

Para criar uma vinculação de dados dinâmica, defina uma variável que use um tipo de dados dinâmico. Associe essa variável ao fluxo de dados que você quer usar.

Por exemplo, você pode buscar valores relacionados às informações de integridade e relógio do sistema, conforme mostrado no snippet de código abaixo.

Kotlin

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

Java

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

Também é possível criar valores dinâmicos com base em expressões constantes e realizar operações aritméticas em qualquer valor dinâmico, conforme mostrado no snippet abaixo:

Kotlin

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

Java

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

Lista de possíveis tipos de dados dinâmicos

O Wear OS oferece suporte aos tipos de dados dinâmicos abaixo:

Além disso, é possível transformar o tipo de dados usando recursos integrados, como estes:

  • DynamicInt32 oferece suporte à conversão para DynamicString usando format().
  • DynamicDuration permite extrair partes específicas, por exemplo, os segundos da duração, como objetos DynamicInt32.

Usar um número limitado de expressões dinâmicas em cada tela

O sistema tem um limite para o número de expressões dinâmicas que pode processar simultaneamente em uma tela específica. O sistema converte todas as outras expressões dinâmicas em valores estáticos.

O Wear OS também considera expressões constantes como expressões dinâmicas. Por exemplo, o snippet de código abaixo contém quatro expressões dinâmicas:

  1. A operação plus().
  2. A operação animate().
  3. A expressão constant(1).
  4. A expressão constant(2), implícita pelo valor 2 na expressão dinâmica plus().
DynamicInt32.constant(1).plus(2).animate()