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. plus() 동적 표현식의 2 값으로 암시되는 constant(2) 표현식.
DynamicInt32.constant(1).plus(2).animate()