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 は次の動的データ型をサポートしています。
また、次のような組み込みの機能を使用して、データ型を変換することもできます。
DynamicInt32
はformat()
を使用したDynamicString
への変換をサポートしています。DynamicDuration
では時間の秒数などの特定の部分をDynamicInt32
オブジェクトとして抽出できます。
各画面で限られた数の動的式を使用する
特定の画面で同時に処理できる動的式の数には上限があります。上限を上回る動的式はシステムで静的な値に変換されます。
Wear OS では、定数式も動的式とみなされます。たとえば、次のコード スニペットには 4 つの動的式が含まれています。
plus()
オペレーションanimate()
オペレーションconstant(1)
式constant(2)
式(plus()
動的式の値2
によって暗黙的に指定)
DynamicInt32.constant(1).plus(2).animate()
あなたへのおすすめ
- 注: JavaScript がオフになっている場合はリンクテキストが表示されます
- ProtoLayout 名前空間に移行する
- Compose における副作用
- AGSL クイック リファレンス