Données météo dans le format de cadran

Depuis la version 2, le format de cadran prend en charge les données météorologiques. Ces données couvrent un é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:

<Text>
  <Font family="SYNC_TO_DEVICE" size="32">
    <Template>Today's weather: %s
        <Parameter expression="[WEATHER.CONDITION_NAME]"/>
    </Template>
  </Font>
</Text>

Disponibilité

Les cadrans doivent toujours vérifier la valeur [WEATHER.IS_AVAILABLE] avant d'accéder aux autres membres de l'objet [WEATHER.*]:

<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>

En outre, le cadran doit vérifier [WEATHER.IS_ERROR], ce qui indique une erreur lors du chargement des données météorologiques.

Notez que [WEATHER.IS_AVAILABLE] et [WEATHER.IS_ERROR] peuvent tous deux être définis sur "true", où les données sont obsolètes et que les tentatives d'actualisation ont échoué. Dans ce cas, la météo disponible peut s'afficher, ainsi qu'un indicateur indiquant qu'une erreur s'est produite lors de la récupération des nouvelles données.

Fraîcheur des données

L'horodatage 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 formatée à l'aide de la méthode icuText(,) pour obtenir une représentation lisible par l'humain, comme illustré dans l'échantillon météo.

Conditions météo

Les conditions actuelles sont disponibles dans [WEATHER.CONDITION], avec une version lisible 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 format de cadran fournit une plage de métriques supplémentaires, telles que [WEATHER.TEMPERATURE] et [WEATHER.UV_INDEX]. Pour en savoir plus 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] : conditions de prévision dans 1 heure.
  • [WEATHER.DAYS.2.CONDITION] : conditions de prévision 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. Des plages d'heures ou de jours différentes peuvent être disponibles à des heures différentes, ou selon des appareils différents. Par exemple, pour vérifier si des données de prévision sont disponibles dans une heure, utilisez [WEATHER.HOURS.1.IS_AVAILABLE].

Les prévisions quotidiennes et horaires comprennent également une plage de métriques, telles que [WEATHER.HOURS.<N>.TEMPERATURE] et [WEATHER.DAYS.<N>.CHANCE_OF_PRECIPITATION]. Pour en savoir plus 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.

Effectuer des tests avec des données météorologiques

Pour obtenir des données météorologiques, l'appareil Wear OS doit connaître leur position.

Pour économiser de l'énergie, la montre n'utilise pas le capteur GPS intégré pour déterminer l'emplacement des prévisions météorologiques, mais s'appuie sur la position d'un appareil portable connecté ou des réseaux disponibles.

Pour pouvoir tester les données de localisation, effectuez l'une des opérations suivantes:

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

Informations supplémentaires

Pour obtenir un exemple complet d'accès aux données météorologiques et d'affichage de celles-ci, consultez l'exemple GitHub.