Ekspresi dinamis di Wear OS

Wear OS mendukung pembaruan dinamis pada informasi yang muncul di kartu dan detail Anda.

Dengan menggunakan ekspresi dinamis, Anda dapat mengikat data yang muncul di platform aplikasi, seperti kartu atau detail, ke sumber data tertentu. Contoh sumber data tersebut adalah data detak jantung yang dapat dibaca platform. Setelah Anda membuat binding ini, sistem akan memperbarui data dalam kartu dan detail secara otomatis.

Membuat data binding dinamis

Untuk membuat data binding dinamis, tentukan variabel yang menggunakan jenis data dinamis. Kaitkan variabel ini dengan aliran data yang ingin Anda gunakan.

Misalnya, Anda dapat mengambil nilai terkait jam sistem dan informasi kesehatan, seperti ditunjukkan dalam cuplikan kode berikut.

Kotlin

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

Java

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

Anda juga dapat membuat nilai dinamis dari ekspresi konstan dan melakukan operasi aritmetika pada nilai dinamis apa pun, seperti ditunjukkan dalam cuplikan berikut:

Kotlin

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

Java

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

Daftar kemungkinan jenis data dinamis

Wear OS mendukung jenis data dinamis berikut:

Selain itu, Anda dapat mengubah jenis data menggunakan kemampuan bawaan, seperti berikut:

  • DynamicInt32 mendukung konversi ke DynamicString menggunakan format().
  • DynamicDuration memungkinkan Anda mengekstrak bagian tertentu, seperti bagian detik dari durasi, sebagai objek DynamicInt32.

Menggunakan ekspresi dinamis dalam jumlah terbatas di setiap layar

Sistem memiliki batas jumlah ekspresi dinamis yang dapat diproses secara bersamaan di layar tertentu. Sistem mengonversi ekspresi dinamis tambahan menjadi nilai statis.

Wear OS juga menganggap ekspresi konstan sebagai ekspresi dinamis. Misalnya, cuplikan kode berikut berisi 4 ekspresi dinamis:

  1. Operasi plus().
  2. Operasi animate().
  3. Ekspresi constant(1).
  4. Ekspresi constant(2) yang dinyatakan oleh nilai 2 dalam ekspresi dinamis plus().
DynamicInt32.constant(1).plus(2).animate()