Od wersji 2 format tarczy zegarka obsługuje dane pogodowe. Dane te obejmują różne dane i ramy czasowe, od aktualnych warunków pogodowych po prognozy godzinowe i dzienne.
Dostęp do informacji o pogodzie uzyskuje się za pomocą wyrażeń. Aby na przykład wyświetlić bieżące warunki pogodowe w elemencie <Text>, użyj wyrażenia podobnego do tego:
<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>
Dostępność
Zanim uzyskasz dostęp do innych elementów obiektu [WEATHER.*], sprawdź wartość [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>
Sprawdź też, czy nie ma symbolu [WEATHER.IS_ERROR], który oznacza błąd wczytywania danych pogodowych.
Pamiętaj, że wartości [WEATHER.IS_AVAILABLE] i [WEATHER.IS_ERROR] mogą być jednocześnie prawdziwe, gdy dane są nieaktualne, a próby ich odświeżenia nie powiodły się. W takich przypadkach mogą być wyświetlane dostępne informacje o pogodzie wraz ze wskaźnikiem informującym o błędzie podczas pobierania nowych danych.
Częstotliwość aktualizacji danych
Sygnaturę czasową dostępnych danych można uzyskać za pomocą funkcji [WEATHER.LAST_UPDATED], która jest sygnaturą czasową epoki uniksowej w milisekundach.
Tę wartość można sformatować za pomocą metody icuText(,), aby uzyskać czytelną reprezentację, jak pokazano w przykładzie dotyczącym pogody.
Warunki pogodowe
Aktualne warunki są dostępne w [WEATHER.CONDITION], a wersja w języku zrozumiałym dla człowieka jest dostępna w [WEATHER.CONDITION_NAME].
Wartości parametru [WEATHER.CONDITION] można znaleźć w źródłach danych. Na przykład 4 oznacza HEAVY_RAIN.
Inne dane
Format tarczy zegarka udostępnia szereg dodatkowych danych, takich jak [WEATHER.TEMPERATURE] i [WEATHER.UV_INDEX]. Szczegółowe informacje o dostępnych danych, w tym jednostkach i typach danych, znajdziesz na stronie referencyjnej źródeł danych.
Prognozy godzinowe i dzienne
Prognozę pogody na konkretną godzinę lub dzień w przyszłości możesz sprawdzić w ten sposób:
[WEATHER.HOURS.1.CONDITION]– prognoza warunków za godzinę.[WEATHER.DAYS.2.CONDITION]– prognoza na 2 dni od teraz.
Dane godzinowe mogą być dostępne z wyprzedzeniem do 8 godzin, a dane dzienne – do 5 dni. Tarcza zegarka powinna jednak zawsze sprawdzać dostępność danych prognozy. W różnych porach dnia lub na różnych urządzeniach może być dostępny inny zakres godzin lub dni. Aby na przykład sprawdzić, czy dane prognozy są dostępne za godzinę, użyj [WEATHER.HOURS.1.IS_AVAILABLE].
Prognozy dzienne i godzinowe zawierają też szereg danych, takich jak
[WEATHER.HOURS.<N>.TEMPERATURE] i
[WEATHER.DAYS.<N>.CHANCE_OF_PRECIPITATION]. Szczegółowe informacje o dostępnych danych, w tym jednostkach i typach danych, znajdziesz na stronie referencyjnej źródeł danych.
Testowanie za pomocą danych pogodowych
Aby uzyskać dane o pogodzie, urządzenie z Wear OS musi znać swoją lokalizację.
Aby oszczędzać energię, zegarek nie używa wbudowanego czujnika GPS do określania lokalizacji na potrzeby prognozy pogody, ale korzysta z lokalizacji z połączonego urządzenia przenośnego lub z dostępnych sieci.
Aby udostępnić dane o lokalizacji na potrzeby testowania, wykonaj jedną z tych czynności:
- Sparuj emulator Wear OS z fizycznym telefonem lub emulatorem telefonu.
- Symuluj lokalizację za pomocą tego polecenia 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
Więcej informacji
Pełny przykład dostępu do danych pogodowych i ich renderowania znajdziesz w przykładzie w GitHubie.
Polecane dla Ciebie
- Uwaga: tekst linku jest wyświetlany, gdy język JavaScript jest wyłączony.
- Zmienianie działania ostrości
- Efekty uboczne w Compose
- AGSL – szybkie informacje