버전 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] 값은 데이터 소스에서 확인할 수 있습니다. 예를 들어 4는 HEAVY_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 샘플을 참고하세요.
추천 서비스
- 참고: JavaScript가 사용 중지되어 있으면 링크 텍스트가 표시됩니다.
- 포커스 동작 변경
- Compose의 부수 효과
- AGSL 빠른 참조