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

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 :

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.