Espressioni dinamiche in Wear OS

Wear OS supporta gli aggiornamenti dinamici delle informazioni visualizzate nei riquadri e nelle complicazioni.

Utilizzando le espressioni dinamiche, puoi collegare i dati visualizzati in una superficie della tua app, ad esempio un riquadro o una complicazione, a un'origine dati specifica. Un esempio di origine dati è quello dei dati sulla frequenza cardiaca che la piattaforma può leggere. Una volta stabilita questa associazione, il sistema aggiorna automaticamente i dati nei riquadri e nelle complicazioni.

Creare associazioni di dati dinamiche

Per creare un'associazione di dati dinamici, definisci una variabile che utilizza un tipo di dati dinamici. Associa questa variabile allo stream di dati che vuoi utilizzare.

Ad esempio, puoi recuperare valori relativi all'orologio di sistema e alle informazioni sulla salute, come mostrato nel seguente snippet di codice.

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

Puoi anche creare valori dinamici da espressioni costanti ed eseguire operazioni aritmetiche su qualsiasi valore dinamico, come mostrato nel seguente snippet:

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

Elenco dei possibili tipi di dati dinamici

Wear OS supporta i seguenti tipi di dati dinamici:

Inoltre, puoi trasformare il tipo di dati utilizzando funzionalità integrate, ad esempio:

  • DynamicInt32 supporta la conversione in un DynamicString utilizzando format().
  • DynamicDuration ti consente di estrarre parti specifiche, ad esempio la parte dei secondi di una durata, come oggetti DynamicInt32.

Utilizzare un numero limitato di espressioni dinamiche su ogni schermata

Il sistema ha un limite al numero di espressioni dinamiche che può elaborare contemporaneamente su una determinata schermata. Il sistema converte eventuali espressioni dinamiche aggiuntive in valori statici.

Wear OS considera anche le espressioni costanti come espressioni dinamiche. Ad esempio, lo snippet di codice seguente contiene quattro espressioni dinamiche:

  1. L'operazione plus().
  2. L'operazione animate().
  3. L'espressione constant(1).
  4. L'espressione constant(2), che è implicita nel valore 2 nell'espressione dinamica plus().

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