Depuis la version 2, le Watch Face Format est compatible avec les données météo. Ces données couvrent un éventail de métriques et de périodes, allant des conditions actuelles aux prévisions horaires et quotidiennes.
La météo est accessible à l'aide d'expressions. Par exemple, pour afficher les conditions météorologiques actuelles dans un <Text> élément, utilisez une expression semblable à
la suivante :
<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>
Disponibilité
Avant d'accéder à d'autres membres de l'objet [WEATHER.*], vérifiez la valeur [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>
Vous devez également vérifier [WEATHER.IS_ERROR], qui indique une erreur lors du chargement des données météo.
Notez que [WEATHER.IS_AVAILABLE] et [WEATHER.IS_ERROR] peuvent être vrais tous les deux, lorsque les données sont obsolètes et que les tentatives d'actualisation ont échoué. Dans ce cas, les conditions météo disponibles peuvent être affichées, ainsi qu'un indicateur signalant une erreur lors de la récupération de nouvelles données.
Fraîcheur des données
Le code temporel des données disponibles est accessible à l'aide de [WEATHER.LAST_UPDATED], qui est un code temporel d'epoch Unix en millisecondes.
Cette valeur peut être mise en forme à l'aide de la icuText(,) méthode pour obtenir une
représentation lisible par un humain, comme illustré dans l'exemple de météo.
Conditions météo
Les conditions actuelles sont disponibles dans [WEATHER.CONDITION], avec une version lisible par un humain dans [WEATHER.CONDITION_NAME].
Les valeurs de [WEATHER.CONDITION] sont visibles dans les sources de données. Par exemple, 4 représente HEAVY_RAIN.
Autres métriques
Le Watch Face Format fournit un éventail de métriques supplémentaires, telles que [WEATHER.TEMPERATURE] et [WEATHER.UV_INDEX]. Pour obtenir tous les détails
sur les métriques disponibles, y compris les unités et les types de données, consultez la
page de référence des sources de données.
Prévisions horaires et quotidiennes
Vous pouvez accéder aux conditions de prévision pour une heure ou un jour spécifique à venir comme suit :
[WEATHER.HOURS.1.CONDITION]: les conditions prévues dans une heure.[WEATHER.DAYS.2.CONDITION]: les conditions prévues dans deux jours.
Les données horaires peuvent être disponibles jusqu'à huit heures à l'avance, et les données quotidiennes jusqu'à cinq jours à l'avance. Toutefois, le cadran doit toujours vérifier la disponibilité des données de prévision. Il est possible que différentes plages d'heures ou de jours soient disponibles à différents moments ou sur différents appareils. Par exemple, pour vérifier si des données de prévision sont disponibles pour dans une heure, utilisez [WEATHER.HOURS.1.IS_AVAILABLE].
Les prévisions quotidiennes et horaires comportent également un éventail de métriques, telles que
[WEATHER.HOURS.<N>.TEMPERATURE] et
[WEATHER.DAYS.<N>.CHANCE_OF_PRECIPITATION]. Pour obtenir tous les détails
sur les métriques disponibles, y compris les unités et les types de données, consultez la
page de référence des sources de données.
Tests avec des données météo
Pour obtenir des données météo, l'appareil Wear OS doit connaître sa position.
Pour économiser de l'énergie, la montre n'utilise pas le capteur GPS intégré pour déterminer un emplacement pour les prévisions météo. Elle s'appuie plutôt sur la position d'un appareil portable connecté ou sur les réseaux disponibles.
Pour rendre les données de localisation disponibles à des fins de test, procédez de l'une des manières suivantes :
- Associez votre émulateur Wear OS à un téléphone physique ou à un émulateur.
- Simulez la position à l'aide de la commande adb suivante :
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
Plus d'informations
Pour obtenir un exemple complet d'accès et de rendu des données météo, consultez l' exemple GitHub.
Recommandations personnalisées
- Remarque : Le texte du lien s'affiche lorsque JavaScript est désactivé
- Modifier le comportement du focus
- Effets secondaires dans Compose
- Guide de référence rapide d'AGSL