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

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.