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:
- Accoppia l'emulatore Wear OS con uno smartphone fisico o emulatore.
- Simula la posizione tramite il seguente comando adb:
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.
Consigliati per te
- Nota: il testo del link viene visualizzato quando JavaScript è disattivato
- Modificare il comportamento della messa a fuoco
- Effetti collaterali in Compose
- Riferimento rapido AGSL