Dati meteo nel formato del quadrante

A partire dalla versione 2, il formato del quadrante 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.

A Meteo si accede tramite espressioni. Ad esempio, per mostrare le condizioni meteo attuali in un elemento <Text>, 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 di [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>

Controlla anche 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, ovvero i dati sono obsoleti e i tentativi di aggiornamento non sono riusciti. In questi casi, è possibile visualizzare il meteo disponibile, insieme a un indicatore che mostra 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 di Unix in millisecondi.

Questo valore può essere formattato utilizzando il metodo icuText(,) per ottenere una rappresentazione leggibile, come illustrato nell'esempio 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

Il formato quadrante orologio 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 Origini dati.

Previsioni orarie e giornaliere

Puoi accedere alle condizioni delle previsioni per un'ora o un giorno specifico in futuro nel seguente modo:

  • [WEATHER.HOURS.1.CONDITION]: le condizioni previste tra un'ora.
  • [WEATHER.DAYS.2.CONDITION]: le condizioni della previsione tra 2 giorni.

I dati orari possono essere disponibili fino a 8 ore prima e i dati giornalieri fino a 5 giorni prima. Tuttavia, il quadrante deve sempre verificare la disponibilità dei dati delle previsioni. Un intervallo diverso di ore o giorni potrebbe essere disponibile in momenti diversi o su dispositivi diversi. Ad esempio, per verificare se i dati della previsione sono disponibili per un'ora a partire da 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 Origini dati.

Test con dati meteo

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

Per risparmiare energia, lo smartwatch non utilizza il sensore GPS integrato per determinare una posizione per la previsione 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 di GitHub.