Wear OS'teki dinamik ifadeler

Wear OS, karolarınızda ve özelliklerinizde görünen bilgilerde yapılan dinamik güncellemeleri destekler.

Dinamik ifadeleri kullanarak, uygulamanızın bir yüzeyinde görünen verileri (ör. bir karo veya komplikasyon) belirli bir veri kaynağına bağlayabilirsiniz. Platformun okuyabileceği nabız verileri, böyle bir veri kaynağına örnek gösterilebilir. Bu bağlantıyı oluşturduktan sonra sistem, karolarınızdaki ve özelliklerinizdeki verileri otomatik olarak günceller.

Dinamik veri bağlantıları 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 sağlık bilgileriyle ilgili değerleri getirebilirsiniz.

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 gerçekleştirebilirsiniz:

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() kullanarak DynamicString biçimine dönüştürmeyi destekler.
  • DynamicDuration, bir sürenin saniye kısmı gibi belirli parçaları DynamicInt32 nesneleri olarak çıkarmanıza olanak tanır.

Her ekranda sınırlı sayıda dinamik ifade kullanın

Sistemin, belirli bir ekranda aynı anda işleyebileceği dinamik ifade sayısı konusunda bir sınır 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çermektedir:

  1. plus() işlemi.
  2. animate() işlemi.
  3. constant(1) ifadesi.
  4. plus() dinamik ifadesinde 2 değeri ile belirtilen constant(2) ifadesi.
DynamicInt32.constant(1).plus(2).animate()