Wear OS の動的式

Wear OS では、タイルウォッチフェイスの追加機能に表示される情報の動的な更新をサポートしています。

動的式を使用すると、アプリのサーフェス(タイルやウォッチフェイスの追加機能など)に表示されるデータを特定のデータソースにバインドできます。そのようなデータソースには、プラットフォームが読み取れる心拍数データなどがあります。このバインディングを設定すると、システムはタイルとウォッチフェイスの追加機能のデータを自動的に更新します。

動的データ バインディングを作成する

動的データ バインディングを作成するには、動的データ型を使用する変数を指定します。この変数を使用するデータ ストリームに関連付けます。

たとえば、次のコード スニペットに示すように、システム クロックと健康情報に関連する値を取得できます。

Kotlin

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

Java

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

次のスニペットに示すように、定数式から動的な値を作成し、動的な値に対して算術演算を実行することもできます。

Kotlin

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

Java

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

有効な動的データ型のリスト

Wear OS は次の動的データ型をサポートしています。

また、次のような組み込みの機能を使用して、データ型を変換することもできます。

  • DynamicInt32format() を使用した DynamicString への変換をサポートしています。
  • DynamicDuration では時間の秒数などの特定の部分を DynamicInt32 オブジェクトとして抽出できます。

各画面で限られた数の動的式を使用する

特定の画面で同時に処理できる動的式の数には上限があります。上限を上回る動的式はシステムで静的な値に変換されます。

Wear OS では、定数式も動的式とみなされます。たとえば、次のコード スニペットには 4 つの動的式が含まれています。

  1. plus() オペレーション
  2. animate() オペレーション
  3. constant(1)
  4. constant(2) 式(plus() 動的式の値 2 によって暗黙的に指定)
DynamicInt32.constant(1).plus(2).animate()