Seit Version 2 unterstützt das Watch Face Format Wetterdaten. Diese Daten umfassen eine Reihe von Messwerten und Zeiträumen, von den aktuellen Bedingungen bis hin zu stündlichen und täglichen Vorhersagen.
Auf das Wetter wird über Ausdrücke zugegriffen. Wenn Sie beispielsweise die aktuellen
Wetterbedingungen in einem <Text>-Element anzeigen möchten, verwenden Sie einen Ausdruck wie den folgenden:
<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>
Verfügbarkeit
Bevor Sie auf andere Elemente des [WEATHER.*]-Objekts zugreifen, prüfen Sie den Wert [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>
Prüfen Sie auch [WEATHER.IS_ERROR], der einen Fehler beim Laden der Wetterdaten angibt.
Beachten Sie, dass [WEATHER.IS_AVAILABLE] und [WEATHER.IS_ERROR] beide wahr sein können, wenn die Daten veraltet sind und Versuche, die Daten zu aktualisieren, fehlgeschlagen sind. In solchen Fällen kann das verfügbare Wetter zusammen mit einem Hinweis angezeigt werden, dass beim Abrufen neuer Daten ein Fehler aufgetreten ist.
Aktualität der Daten
Auf den Zeitstempel der verfügbaren Daten kann mit [WEATHER.LAST_UPDATED] zugegriffen werden. Dabei handelt es sich um einen Unix-Epochenzeitstempel in Millisekunden.
Dieser Wert kann mit der icuText(,) Methode formatiert werden, um eine
für Menschen lesbare Darstellung zu erhalten, wie im Wetterbeispiel gezeigt.
Wetter
Die aktuellen Bedingungen sind in [WEATHER.CONDITION] verfügbar, eine für Menschen lesbare Version in [WEATHER.CONDITION_NAME].
Die Werte für [WEATHER.CONDITION] sind in den Datenquellen zu sehen. Beispiel: 4 steht für HEAVY_RAIN.
Weitere Messwerte
Das Watch Face Format bietet eine Reihe zusätzlicher Messwerte wie [WEATHER.TEMPERATURE] und [WEATHER.UV_INDEX]. Vollständige Informationen zu den verfügbaren Messwerten, einschließlich Einheiten und Datentypen, finden Sie auf der
Referenzseite zu Datenquellen.
Stündliche und tägliche Vorhersagen
Sie können so auf Vorhersagebedingungen für eine bestimmte Stunde oder einen bestimmten Tag in der Zukunft zugreifen:
[WEATHER.HOURS.1.CONDITION]- die Vorhersagebedingungen in einer Stunde.[WEATHER.DAYS.2.CONDITION]- die Vorhersagebedingungen in zwei Tagen.
Stündliche Daten können bis zu 8 Stunden im Voraus und tägliche Daten bis zu 5 Tage im Voraus verfügbar sein. Das Zifferblatt sollte jedoch immer die Verfügbarkeit von Vorhersagedaten prüfen. Zu unterschiedlichen Zeiten oder auf unterschiedlichen Geräten sind möglicherweise unterschiedliche Zeiträume verfügbar. Wenn Sie beispielsweise prüfen möchten, ob Vorhersagedaten für eine Stunde im Voraus verfügbar sind, verwenden Sie [WEATHER.HOURS.1.IS_AVAILABLE].
Tägliche und stündliche Vorhersagen enthalten auch eine Reihe von Messwerten wie
[WEATHER.HOURS.<N>.TEMPERATURE] und
[WEATHER.DAYS.<N>.CHANCE_OF_PRECIPITATION]. Vollständige Informationen zu den verfügbaren Messwerten, einschließlich Einheiten und Datentypen, finden Sie auf der
Referenzseite zu Datenquellen.
Mit Wetterdaten testen
Um Wetterdaten zu erhalten, muss das Wear OS-Gerät den Standort des Geräts kennen.
Um Strom zu sparen, verwendet die Uhr nicht den integrierten GPS-Sensor, um einen Standort für die Wettervorhersage zu ermitteln, sondern greift stattdessen auf den Standort eines verbundenen Mobilgeräts oder von verfügbaren Netzwerken zurück.
So stellen Sie Standortdaten für Tests zur Verfügung:
- Koppeln Sie Ihren Wear OS-Emulator mit einem physischen Telefon oder einem Emulator-Telefon.
- Simulieren Sie den Standort mit dem folgenden adb-Befehl:
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
Weitere Informationen
Ein vollständiges Beispiel für den Zugriff auf und das Rendern von Wetterdaten finden Sie im GitHub-Beispiel.
Empfehlungen für Sie
- Hinweis: Linktext wird angezeigt, wenn JavaScript deaktiviert ist
- Fokusverhalten ändern
- Nebeneffekte in Compose
- Kurzübersicht zu AGSL