Dati meteo nel formato del quadrante

A partire dalla versione 2, Watch Face Format include il supporto per i dati meteo. Questi dati coprono una serie di metriche e intervalli di tempo, dalle condizioni attuali alle previsioni orarie e giornaliere.

Si accede ai dati meteo utilizzando le espressioni. Ad esempio, per mostrare le condizioni meteo attuali in un <Text> elemento, utilizza un'espressione simile alla seguente:

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

Prima di accedere ad altri membri dell'oggetto [WEATHER.*], controlla il valore [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>

Dovresti anche verificare la presenza di [WEATHER.IS_ERROR], che indica un errore nel caricamento dei dati meteo.

Tieni presente che [WEATHER.IS_AVAILABLE] e [WEATHER.IS_ERROR] possono essere entrambi veri, nel caso in cui i dati siano obsoleti e i tentativi di aggiornarli non siano andati a buon fine. In questi casi, è possibile mostrare i dati meteo disponibili, insieme a un indicatore che segnala che si è verificato un errore durante il recupero di nuovi dati.

Aggiornamento dei dati

È possibile accedere al timestamp dei dati disponibili utilizzando [WEATHER.LAST_UPDATED], che è un timestamp dell'epoca Unix in millisecondi.

Questo valore può essere formattato utilizzando il icuText(,) metodo per ottenere una rappresentazione leggibile, come mostrato nell'esempio dei dati meteo .

Condizioni meteo

Le condizioni attuali sono disponibili in [WEATHER.CONDITION], con una versione leggibile in [WEATHER.CONDITION_NAME].

I valori di [WEATHER.CONDITION] sono visibili nelle origini dati. Ad esempio, 4 rappresenta HEAVY_RAIN.

Altre metriche

Watch Face Format fornisce una serie di metriche aggiuntive, come [WEATHER.TEMPERATURE] e [WEATHER.UV_INDEX]. Per tutti i dettagli sulle metriche disponibili, incluse unità e tipi di dati, visita la pagina di riferimento delle origini dati.

Previsioni orarie e giornaliere

Puoi accedere alle condizioni di previsione per un'ora o un giorno specifici in futuro nel seguente modo:

  • [WEATHER.HOURS.1.CONDITION] - le condizioni di previsione tra 1 ora.
  • [WEATHER.DAYS.2.CONDITION] - le condizioni di previsione tra 2 giorni.

I dati orari possono essere disponibili fino a 8 ore in anticipo e i dati giornalieri fino a 5 giorni in anticipo. Tuttavia, il quadrante deve sempre verificare la disponibilità dei dati di previsione. Un intervallo diverso di ore o giorni potrebbe essere disponibile in orari diversi o su dispositivi diversi. Ad esempio, per verificare se i dati di previsione sono disponibili tra 1 ora, utilizza [WEATHER.HOURS.1.IS_AVAILABLE].

Le previsioni giornaliere e orarie includono anche una serie di metriche, come [WEATHER.HOURS.<N>.TEMPERATURE] e [WEATHER.DAYS.<N>.CHANCE_OF_PRECIPITATION]. Per tutti i dettagli sulle metriche disponibili, incluse unità e tipi di dati, visita la pagina di riferimento delle origini dati.

Test con dati meteo

Per ottenere i dati meteo, il dispositivo Wear OS deve conoscere la sua posizione.

Per risparmiare energia, lo smartwatch non utilizza il sensore GPS integrato per determinare una località per le previsioni meteo, ma si basa sulla posizione di un dispositivo portatile connesso o delle reti disponibili.

Per rendere disponibili i dati sulla posizione per i test, procedi in uno dei seguenti modi:

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

Ulteriori dettagli

Per un esempio completo di accesso e rendering dei dati meteo, consulta l'esempio su GitHub.