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ę naDynamicString
za pomocąformat()
.DynamicDuration
umożliwia wyodrębnianie konkretnych fragmentów, np. części sekundowej czasu trwania jako obiektyDynamicInt32
.
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:
- Operacja
plus()
. - Operacja
animate()
. - Wyrażenie
constant(1)
. - Wyrażenie
constant(2)
, które jest domniemane przez wartość2
w funkcji Wyrażenie dynamiczneplus()
.
DynamicInt32.constant(1).plus(2).animate()
Polecane dla Ciebie
- Uwaga: tekst linku wyświetla się, gdy JavaScript jest wyłączony
- Migracja do przestrzeni nazw ProtoLayout
- Efekty uboczne w funkcji Compose
- Krótkie informacje o AGSL