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 keDynamicString
menggunakanformat()
.DynamicDuration
memungkinkan Anda mengekstrak bagian tertentu, seperti bagian detik dari durasi, sebagai objekDynamicInt32
.
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:
- Operasi
plus()
. - Operasi
animate()
. - Ekspresi
constant(1)
. - Ekspresi
constant(2)
yang dinyatakan oleh nilai2
dalam ekspresi dinamisplus()
.
DynamicInt32.constant(1).plus(2).animate()
Direkomendasikan untuk Anda
- Catatan: teks link ditampilkan saat JavaScript nonaktif
- Bermigrasi ke namespace ProtoLayout
- Efek samping di Compose
- Referensi Cepat AGSL