Wear OS поддерживает динамическое обновление информации, отображаемой в ваших плитках и виджетах .
Используя динамические выражения, вы можете привязать данные, отображаемые на поверхности вашего приложения — например, в виде плитки или виджета — к определенному источнику данных. Примером такого источника данных могут служить данные о частоте сердечных сокращений, которые может считывать платформа. После установления этой привязки система автоматически обновляет данные в ваших плитках и виджетах.
Создание динамических привязок данных
Для создания динамической привязки данных определите переменную, использующую динамический тип данных . Свяжите эту переменную с потоком данных, который вы хотите использовать.
Например, вы можете получить значения, связанные с системными часами и информацией о состоянии системы, как показано в следующем фрагменте кода.
val systemTime = DynamicInstant.platformTimeWithSecondsPrecision() val steps: DynamicInt32 = PlatformHealthSources.dailySteps()
Также можно создавать динамические значения из константных выражений и выполнять арифметические операции над любым динамическим значением, как показано в следующем фрагменте кода:
val dynamicAdditionResult = DynamicInt32.constant(1).plus(2)
Список возможных динамических типов данных
Wear OS поддерживает следующие динамические типы данных:
Кроме того, вы можете преобразовывать тип данных, используя встроенные возможности, например, следующие:
-
DynamicInt32поддерживает преобразование вDynamicStringс помощьюformat(). -
DynamicDurationпозволяет извлекать определенные части, например, секунды, из длительности, в виде объектовDynamicInt32.
Используйте ограниченное количество динамических выражений на каждом экране.
Система имеет ограничение на количество динамических выражений, которые она может обрабатывать одновременно на одном экране. Любые дополнительные динамические выражения система преобразует в статические значения.
Wear OS также считает константные выражения динамическими. Например, следующий фрагмент кода содержит 4 динамических выражения:
- Операция
plus(). - Операция
animate(). - Выражение
constant(1). - Выражение
constant(2), которое подразумевается значением2в динамическом выраженииplus().
val animatedAdditionResult = DynamicInt32.constant(1).plus(2).animate()
Рекомендуем вам
- Примечание: текст ссылки отображается, когда JavaScript отключен.
- Переход на пространства имен ProtoLayout
- Побочные эффекты в Compose
- Краткий справочник AGSL