Wear OS obsługuje dynamiczne aktualizacje informacji wyświetlanych na kafelkach i widżetach.
Za pomocą wyrażeń dynamicznych możesz powiązać dane wyświetlane na powierzchni aplikacji, np. na kafelku lub w komplikacji, z określonym źródłem danych. Przykładem takiego źródła danych są dane o tętnie, które platforma może odczytać. Po utworzeniu tego powiązania system automatycznie aktualizuje dane w kafelkach i komplikacjach.
Tworzenie dynamicznych wiązań danych
Aby utworzyć powiązanie z danymi dynamicznymi, zdefiniuj zmienną, która używa dynamicznego typu danych. Powiąż tę zmienną ze strumieniem danych, którego chcesz użyć.
Możesz na przykład pobrać wartości związane z zegarem systemowym i informacjami o zdrowiu, jak pokazano w tym fragmencie kodu.
val systemTime = DynamicInstant.platformTimeWithSecondsPrecision() val steps: DynamicInt32 = PlatformHealthSources.dailySteps()
Możesz też tworzyć wartości dynamiczne z wyrażeń stałych i wykonywać na nich operacje arytmetyczne, jak pokazano w tym fragmencie kodu:
val dynamicAdditionResult = DynamicInt32.constant(1).plus(2)
Lista możliwych typów danych dynamicznych
Wear OS obsługuje te typy danych dynamicznych:
Możesz też przekształcić typ danych za pomocą wbudowanych funkcji, takich jak:
DynamicInt32obsługuje konwersję naDynamicStringza pomocąformat().DynamicDurationumożliwia wyodrębnianie określonych części, np. sekund z czasu trwania, jako obiektówDynamicInt32.
Używaj ograniczonej liczby dynamicznych wyrażeń na każdym ekranie.
System ma limit dynamicznych wyrażeń, które może przetwarzać jednocześnie na danym ekranie. System przekształca wszystkie dodatkowe wyrażenia dynamiczne w wartości statyczne.
Wear OS uznaje stałe wyrażenia za wyrażenia dynamiczne. Na przykład ten fragment kodu zawiera 4 wyrażenia dynamiczne:
- Operacja
plus(). - Operacja
animate(). - Wyrażenie
constant(1). - Wyrażenie
constant(2), które jest implikowane przez wartość2w wyrażeniu dynamicznymplus().
val animatedAdditionResult = DynamicInt32.constant(1).plus(2).animate()
Polecane dla Ciebie
- Uwaga: tekst linku jest wyświetlany, gdy język JavaScript jest wyłączony.
- Migracja do przestrzeni nazw ProtoLayout
- Efekty uboczne w Compose
- AGSL – szybkie informacje