Wear OS, kartlarınızda ve komplikasyonlarınızda görünen bilgilerle ilgili dinamik güncellemeleri destekler.
Dinamik ifadeleri kullanarak uygulamanızın bir yüzeyinde (ör. kutu veya özellik) görünen verileri belirli bir veri kaynağına bağlayabilirsiniz. Platformun okuyabileceği nabız verileri bu tür bir veri kaynağına örnek olarak verilebilir. Bu bağlamayı oluşturduktan sonra sistem, bloklarınızdaki ve özelliklerinizdeki verileri otomatik olarak günceller.
Dinamik veri bağlamaları oluşturma
Dinamik veri bağlama oluşturmak için dinamik veri türü kullanan bir değişken tanımlayın. Bu değişkeni, kullanmak istediğiniz veri akışıyla ilişkilendirin.
Örneğin, aşağıdaki kod snippet'inde gösterildiği gibi sistem saati ve durum bilgileriyle ilgili değerleri alabilirsiniz.
Kotlin
val systemTime = DynamicInstant.platformTimeWithSecondsPrecision() val steps: DynamicInt32 = PlatformHealthSources.dailySteps()
Java
DynamicInstant systemTime = DynamicInstant.platformTimeWithSecondsPrecision(); DynamicInt32 steps = PlatformHealthSources.dailySteps();
Ayrıca, aşağıdaki snippet'te gösterildiği gibi sabit ifadelerden dinamik değerler oluşturabilir ve herhangi bir dinamik değer üzerinde aritmetik işlemler yapabilirsiniz:
Kotlin
val dynamicValue = DynamicInt32.constant(1).plus(2)
Java
DynamicInt32 dynamicValue = DynamicInt32.constant(1).plus(2)
Olası dinamik veri türlerinin listesi
Wear OS aşağıdaki dinamik veri türlerini destekler:
Ayrıca, aşağıdakiler gibi yerleşik özellikleri kullanarak veri türünü dönüştürebilirsiniz:
DynamicInt32
,format()
kullanılarakDynamicString
biçimine dönüştürmeyi destekler.DynamicDuration
, sürenin saniye bölümü gibi belirli bölümleri (DynamicInt32
nesneleri) çıkarmanıza olanak tanır.
Her ekranda sınırlı sayıda dinamik ifade kullanın
Sistemin belirli bir ekranda eş zamanlı olarak işleyebileceği dinamik ifade sayısı sınırlaması vardır. Sistem, ek dinamik ifadeleri statik değerlere dönüştürür.
Wear OS, sabit ifadeleri de dinamik ifadeler olarak kabul eder. Örneğin, aşağıdaki kod snippet'i 4 dinamik ifade içerir:
plus()
işlemi.animate()
işlemi.constant(1)
ifadesi.plus()
dinamik ifadesindeki2
değeriyle ifade edilenconstant(2)
ifadesi.
DynamicInt32.constant(1).plus(2).animate()
Sizin için önerilenler
- Not: JavaScript kapalıyken bağlantı metni gösterilir
- ProtoLayout ad alanlarına taşıma
- Compose'da yan etkiler
- AGSL Hızlı Referansı