Depuis la version 2, le Watch Face Format est compatible avec les données météo. Ces données couvrent un large éventail de métriques et de périodes, 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 élément <Text>, 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 aux 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 rechercher [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 définis sur "true" en même temps, lorsque les données sont obsolètes et que les tentatives d'actualisation ont échoué. Dans ce cas, les données météorologiques 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'époque Unix en millisecondes.
Cette valeur peut être mise en forme à l'aide de la méthode icuText(,) pour obtenir une représentation lisible par l'homme, comme illustré dans l'exemple 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 une gamme 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 sur les sources de données.
Prévisions horaires et quotidiennes
Pour accéder aux prévisions pour une heure ou un jour précis, procédez comme suit :
[WEATHER.HOURS.1.CONDITION]: les conditions prévues dans une heure.[WEATHER.DAYS.2.CONDITION]: les conditions météorologiques 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 une heure à partir de maintenant, utilisez [WEATHER.HOURS.1.IS_AVAILABLE].
Les prévisions quotidiennes et horaires incluent é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 sur les sources de données.
Tester avec des données météorologiques
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 mobile connecté ou des réseaux disponibles.
Pour rendre les données de localisation disponibles pour les tests, effectuez l'une des opérations suivantes :
- Associez votre émulateur Wear OS à un téléphone physique ou à un émulateur de téléphone.
- Simulez l'emplacement à 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 de détails
Pour obtenir un exemple complet d'accès aux données météo et de leur affichage, consultez l'exemple GitHub.
Recommandations personnalisées
- Remarque : Le texte du lien s'affiche lorsque JavaScript est désactivé
- Modifier le comportement de mise au point
- Effets secondaires dans Compose
- Guide de référence rapide d'AGSL