Динамические выражения в Wear OS

Wear OS поддерживает динамические обновления информации, отображаемой на плитках и дополнениях .

Используя динамические выражения, вы можете привязать данные, которые появляются на поверхности вашего приложения, например плитку или усложнение, к определенному источнику данных. Примером такого источника данных являются данные о частоте пульса, которые может считывать платформа. После того, как вы установили эту привязку, система автоматически обновляет данные в ваших тайлах и осложнениях.

Создание динамических привязок данных

Чтобы создать привязку динамических данных, определите переменную, использующую динамический тип данных . Свяжите эту переменную с потоком данных, который вы хотите использовать.

Например, вы можете получить значения, связанные с системными часами и информацией о работоспособности, как показано в следующем фрагменте кода.

Котлин

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

Ява

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

Вы также можете создавать динамические значения из постоянных выражений и выполнять арифметические операции с любым динамическим значением, как показано в следующем фрагменте кода:

Котлин

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

Ява

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

Список возможных динамических типов данных

Wear OS поддерживает следующие типы динамических данных:

Кроме того, вы можете преобразовать тип данных, используя встроенные возможности, такие как следующие:

  • DynamicInt32 поддерживает преобразование в DynamicString с помощью format() .
  • DynamicDuration позволяет извлекать определенные части, например секундную часть длительности, как объекты DynamicInt32 .

Используйте ограниченное количество динамических выражений на каждом экране.

Система имеет ограничение на количество динамических выражений, которые она может обрабатывать одновременно на определенном экране. Система преобразует любые дополнительные динамические выражения в статические значения.

Wear OS также считает постоянные выражения динамическими. Например, следующий фрагмент кода содержит 4 динамических выражения:

  1. Операция plus() .
  2. Операция animate() .
  3. Выражение constant(1) .
  4. Выражение constant(2) , которое подразумевается значением 2 в динамическом выражении plus() .
DynamicInt32.constant(1).plus(2).animate()
{% дословно %} {% дословно %} {% дословно %} {% дословно %}