Wyrażenia dynamiczne w Wear OS

Wear OS obsługuje dynamiczne aktualizacje informacji wyświetlanych w kafelkach i widżety.

Za pomocą wyrażeń dynamicznych możesz powiązać dane, które pojawiają się na powierzchni aplikacji (np. kafelka lub widżetu) z konkretnym źródłem danych. Przykład: takim źródłem danych są informacje o tętnie, które platforma może odczytać. Po ustanowienie tego powiązania, system zaktualizuje dane w kafelkach powikłań.

Tworzenie dynamicznych wiązań danych

Aby utworzyć dynamiczne wiązanie danych, zdefiniuj zmienną, która korzysta z funkcji dynamiczny typ danych. Powiąż tę zmienną ze strumieniem danych, który chcesz których chcesz używać.

Możesz na przykład pobrać wartości związane z zegarem systemowym i stanem zgodnie z poniższym fragmentem kodu.

Kotlin

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

Java

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

Można również tworzyć wartości dynamiczne z wyrażeń stałych i wykonywać operacje arytmetyczne na dowolnej wartości dynamicznej, jak w tym fragmencie kodu:

Kotlin

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

Java

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

Lista możliwych dynamicznych typów danych

Wear OS obsługuje te typy danych dynamicznych:

Możesz też przekształcać typ danych za pomocą wbudowanych funkcji, takich jak w następujący sposób:

  • DynamicInt32 obsługuje konwersję na DynamicString za pomocą format().
  • DynamicDuration umożliwia wyodrębnianie konkretnych fragmentów, np. części sekundowej czasu trwania jako obiekty DynamicInt32.

Używaj ograniczonej liczby wyrażeń dynamicznych na każdym ekranie

System ma ograniczoną liczbę wyrażeń dynamicznych, które może przetworzyć jednocześnie na danym ekranie. System konwertuje wszelkie dodatkowe dynamicznych wyrażeń na wartości statyczne.

Wear OS uznaje też wyrażenia stałe za wyrażenia dynamiczne. Dla: Ten fragment kodu zawiera 4 wyrażenia dynamiczne:

  1. Operacja plus().
  2. Operacja animate().
  3. Wyrażenie constant(1).
  4. Wyrażenie constant(2), które jest domniemane przez wartość 2 w funkcji Wyrażenie dynamiczne plus().
DynamicInt32.constant(1).plus(2).animate()
.