Dynamische Ausdrücke in Wear OS

Wear OS unterstützt dynamische Aktualisierungen von Informationen, die auf Ihren Kacheln und Zusatzfunktionen angezeigt werden.

Mit dynamischen Ausdrücken können Sie Daten, die auf einer Oberfläche Ihrer App angezeigt werden, z. B. auf einer Kachel oder einer Komplikation, an eine bestimmte Datenquelle binden. Ein Beispiel für eine solche Datenquelle sind Herzfrequenzdaten, die von der Plattform gelesen werden können. Nachdem Sie diese Bindung eingerichtet haben, werden die Daten in Ihren Kacheln und Komplikationen automatisch aktualisiert.

Dynamische Datenbindungen erstellen

Um eine dynamische Datenbindung zu erstellen, definieren Sie eine Variable mit einem dynamischen Datentyp. Ordnen Sie diese Variable dem Datenstream zu, den Sie verwenden möchten.

Sie können beispielsweise Werte für die Systemuhr und Gesundheitsinformationen abrufen, wie im folgenden Code-Snippet gezeigt.

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

Sie können auch dynamische Werte aus konstanten Ausdrücken erstellen und arithmetische Operationen für jeden dynamischen Wert ausführen, wie im folgenden Snippet gezeigt:

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

Liste der möglichen dynamischen Datentypen

Wear OS unterstützt die folgenden dynamischen Datentypen:

Außerdem können Sie den Datentyp mit integrierten Funktionen wie den folgenden transformieren:

  • DynamicInt32 unterstützt die Konvertierung in ein DynamicString mit format().
  • Mit DynamicDuration können Sie bestimmte Teile, z. B. den Sekundenanteil einer Dauer, als DynamicInt32-Objekte extrahieren.

Beschränken Sie die Anzahl dynamischer Ausdrücke auf jedem Bildschirm.

Das System hat eine Begrenzung für die Anzahl der dynamischen Ausdrücke, die gleichzeitig auf einem bestimmten Bildschirm verarbeitet werden können. Das System wandelt alle zusätzlichen dynamischen Ausdrücke in statische Werte um.

Wear OS betrachtet konstante Ausdrücke auch als dynamische Ausdrücke. Das folgende Code-Snippet enthält beispielsweise vier dynamische Ausdrücke:

  1. Der Vorgang plus().
  2. Der Vorgang animate().
  3. Der constant(1)-Ausdruck.
  4. Der Ausdruck constant(2), der durch den Wert 2 im dynamischen Ausdruck plus() impliziert wird.

val animatedAdditionResult = DynamicInt32.constant(1).plus(2).animate()