워치 페이스 형식의 날씨 데이터

버전 2부터 워치 페이스 형식에 날씨 데이터 지원이 포함됩니다. 이 데이터는 현재 날씨부터 시간별 및 일일 예보까지 다양한 측정항목과 기간을 다룹니다.

날씨는 표현식 을 사용하여 액세스됩니다. 예를 들어 현재 날씨를 <Text> 요소에 표시하려면 다음과 유사한 표현식을 사용합니다.

<PartText x="100" y="100" width="200" height="50">
    <Text>
        <Font family="SYNC_TO_DEVICE" size="16">
            <Template><![CDATA[Today's weather: %s]]>
                <Parameter expression="[WEATHER.CONDITION_NAME]"/>
            </Template>
        </Font>
    </Text>
</PartText>

가용성

[WEATHER.*] 객체의 다른 멤버에 액세스하기 전에 [WEATHER.IS_AVAILABLE] 값을 확인하세요.

<Condition>
    <Expressions>
        <Expression name="is_weather_available">[WEATHER.IS_AVAILABLE]</Expression>
    </Expressions>
    <Compare expression="is_weather_available">
        <!-- Weather is available, so show the weather data. -->
    </Compare>
    <Default>
        <!-- Weather isn't available, so show an appropriate message. -->
    </Default>
</Condition>

또한 날씨 데이터 로드 오류를 나타내는 [WEATHER.IS_ERROR]를 확인해야 합니다.

[WEATHER.IS_AVAILABLE][WEATHER.IS_ERROR]는 모두 true일 수 있습니다. 이 경우 데이터가 최신 상태가 아니며 데이터를 새로고침하려는 시도가 실패합니다. 이러한 경우 사용 가능한 날씨가 새 데이터를 가져오는 데 오류가 있음을 나타내는 표시기와 함께 표시될 수 있습니다.

데이터 최신 상태

사용 가능한 데이터의 타임스탬프는 밀리초 단위의 Unix 시간 타임스탬프인 [WEATHER.LAST_UPDATED]를 사용하여 액세스할 수 있습니다.

이 값은 icuText(,) 메서드를 사용하여 사람이 읽을 수 있는 표현으로 형식을 지정할 수 있습니다. 이는 날씨 샘플에 표시된 대로입니다.

기상 상황

현재 날씨는 [WEATHER.CONDITION]에서 사용할 수 있으며, 사람이 읽을 수 있는 버전은 [WEATHER.CONDITION_NAME]에 있습니다.

[WEATHER.CONDITION]의 값은 데이터 소스에서 확인할 수 있습니다. 예를 들어 4HEAVY_RAIN을 나타냅니다.

기타 측정항목

워치 페이스 형식은 [WEATHER.TEMPERATURE][WEATHER.UV_INDEX]와 같은 다양한 추가 측정항목을 제공합니다. 단위 및 데이터 유형을 비롯한 사용 가능한 측정항목의 전체 세부정보는 데이터 소스 참조 페이지를 참고하세요.

시간별 및 일일 예보

다음과 같이 특정 시간 또는 미래의 날짜에 대한 예보 조건에 액세스할 수 있습니다.

  • [WEATHER.HOURS.1.CONDITION] - 지금부터 1시간 후의 예보 조건입니다.
  • [WEATHER.DAYS.2.CONDITION] - 지금부터 2일 후의 예보 조건입니다.

시간별 데이터는 최대 8시간 전, 일일 데이터는 최대 5일 전에 사용할 수 있습니다. 하지만 워치 페이스는 항상 예보 데이터의 가용성을 확인해야 합니다. 시간 또는 일의 범위는 시간 또는 기기에 따라 다를 수 있습니다. 예를 들어 지금부터 1시간 후의 예보 데이터를 사용할 수 있는지 확인하려면 [WEATHER.HOURS.1.IS_AVAILABLE]을 사용합니다.

일일 및 시간별 예보에는 [WEATHER.HOURS.<N>.TEMPERATURE][WEATHER.DAYS.<N>.CHANCE_OF_PRECIPITATION]과 같은 다양한 측정항목도 포함됩니다. 단위 및 데이터 유형을 비롯한 사용 가능한 측정항목의 전체 세부정보는 데이터 소스 참조 페이지를 참고하세요.

날씨 데이터로 테스트

날씨 데이터를 가져오려면 Wear OS 기기가 기기 위치를 알고 있어야 합니다.

전력을 절약하기 위해 시계는 온보드 GPS 센서를 사용하여 일기 예보의 위치를 결정하지 않고 대신 연결된 휴대기기 또는 사용 가능한 네트워크의 위치를 사용합니다.

테스트에 위치 데이터를 사용하려면 다음 중 하나를 실행합니다.

  • Wear OS 에뮬레이터를 실제 또는 에뮬레이터 휴대전화와 페어링합니다.
  • 다음 adb 명령어를 통해 위치를 시뮬레이션합니다.
adb unroot
adb shell cmd location set-location-enabled true
adb root
adb shell appops set 0 android:mock_location allow
adb shell cmd location providers add-test-provider gps
adb shell cmd location providers set-test-provider-enabled gps true
adb shell cmd location providers set-test-provider-location gps --location 37.773972,-122.431297

추가 세부정보

날씨 데이터 액세스 및 렌더링의 전체 예는 GitHub 샘플을 참고하세요.