Desde a versão 2, o Formato do mostrador do relógio inclui suporte a dados climáticos. Esses dados abrangem uma variedade de métricas e períodos, desde as condições atuais até previsões por hora e diárias.
O clima é acessado usando expressões. Por exemplo, para mostrar as condições climáticas atuais em um <Text> elemento, use uma expressão semelhante a esta:
<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>
Disponibilidade
Antes de acessar outros membros do objeto [WEATHER.*], confira o valor [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>
Você também precisa verificar se há [WEATHER.IS_ERROR], que indica um erro no carregamento de dados climáticos.
É possível que [WEATHER.IS_AVAILABLE] e [WEATHER.IS_ERROR] sejam verdadeiros, em que os dados estão desatualizados e as tentativas de atualização falharam. Nesses casos, o clima disponível pode ser mostrado, junto com um indicador de que houve um erro na busca de novos dados.
Atualização de dados
O carimbo de data/hora dos dados disponíveis pode ser acessado usando [WEATHER.LAST_UPDATED], que é um carimbo de data/hora da época Unix em milissegundos.
Esse valor pode ser formatado usando o icuText(,) método para gerar uma
representação legível, conforme demonstrado no exemplo de clima.
Condições meteorológicas
As condições atuais estão disponíveis em [WEATHER.CONDITION], com uma versão legível em [WEATHER.CONDITION_NAME].
Os valores de [WEATHER.CONDITION] podem ser encontrados em fontes de dados. Por exemplo, 4 representa HEAVY_RAIN.
Outras métricas
O Formato do mostrador do relógio oferece uma variedade de métricas adicionais, como [WEATHER.TEMPERATURE] e [WEATHER.UV_INDEX]. Para conferir todos os detalhes
das métricas disponíveis, incluindo unidades e tipos de dados, acesse a
página de referência das fontes de dados.
Previsões por hora e diárias
Você pode acessar as condições de previsão para uma hora ou dia específico no futuro da seguinte maneira:
[WEATHER.HOURS.1.CONDITION]- as condições de previsão para daqui a 1 hora.[WEATHER.DAYS.2.CONDITION]- as condições de previsão para daqui a 2 dias.
Os dados por hora podem estar disponíveis até 8 horas antes, e os dados diários até 5 dias antes. No entanto, o mostrador do relógio sempre precisa verificar a disponibilidade dos dados de previsão. Um intervalo diferente de horas ou dias pode estar disponível em momentos ou dispositivos diferentes. Por exemplo, para verificar se os dados de previsão estão disponíveis para daqui a 1 hora, use [WEATHER.HOURS.1.IS_AVAILABLE].
As previsões diárias e por hora também apresentam uma variedade de métricas, como
[WEATHER.HOURS.<N>.TEMPERATURE] e
[WEATHER.DAYS.<N>.CHANCE_OF_PRECIPITATION]. Para conferir todos os detalhes
das métricas disponíveis, incluindo unidades e tipos de dados, acesse a
página de referência das fontes de dados.
Como testar com dados climáticos
Para receber dados climáticos, o dispositivo Wear OS precisa saber a localização do dispositivo.
Para economizar energia, o relógio não usa o sensor de GPS integrado para determinar um local para a previsão do tempo. Em vez disso, ele depende da localização de um dispositivo portátil conectado ou de redes disponíveis.
Para disponibilizar dados de localização para testes, faça uma destas ações:
- Pareie o emulador do Wear OS com um smartphone físico ou emulador.
- Simule a localização usando o seguinte 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
Mais detalhes
Para conferir um exemplo completo de como acessar e renderizar dados climáticos, consulte o exemplo do GitHub.
Recomendados para você
- Observação: o texto do link aparece quando o JavaScript está desativado.
- Mudar o comportamento do foco
- Efeitos colaterais no Compose
- Referência rápida da AGSL