Desde a versão 2, o Formato do mostrador do relógio inclui suporte para dados meteorológicos. Esses dados abrangem uma variedade de métricas e períodos, a partir das condições atuais até previsões diárias e por hora.
O clima é acessado usando expressões. Por exemplo, para mostrar
condições climáticas em um elemento <Text>
, use uma expressão semelhante a
o seguinte:
<Text>
<Font family="SYNC_TO_DEVICE" size="32">
<Template>Today's weather: %s
<Parameter expression="[WEATHER.CONDITION_NAME]"/>
</Template>
</Font>
</Text>
Disponibilidade
Os mostradores de relógio precisam sempre verificar o valor [WEATHER.IS_AVAILABLE]
antes de:
acessar outros membros do objeto [WEATHER.*]
:
<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>
Além disso, o mostrador do relógio precisa marcar [WEATHER.IS_ERROR]
, que indica
um erro ao carregar os dados meteorológicos.
Observe que [WEATHER.IS_AVAILABLE]
e [WEATHER.IS_ERROR]
podem ser verdadeiros,
em que os dados estão desatualizados e
tentam atualizá-los falhar. Nesses casos,
o clima disponível pode ser mostrado, junto com um indicador para mostrar que há
ocorreu um erro ao buscar novos dados.
Atualidade dos 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 método icuText(,)
para obter um
representação legível por humanos, como demonstrado na amostra meteorológica
Condições meteorológicas
As condições atuais estão disponíveis em [WEATHER.CONDITION]
, com um
versão legível por humanos em [WEATHER.CONDITION_NAME]
.
Os valores de [WEATHER.CONDITION]
podem ser vistos nas fontes de dados. Para
exemplo, 4
representa HEAVY_RAIN
.
Outras métricas
O Formato do mostrador do relógio oferece uma gama de métricas adicionais, como
[WEATHER.TEMPERATURE]
e [WEATHER.UV_INDEX]
. Para mais detalhes
de métricas disponíveis, incluindo unidades e tipos de dados, acesse o
fontes de dados.
Previsões diárias e por hora
É possível acessar as condições de previsão para uma hora ou dia específico no futuro da seguinte forma:
[WEATHER.HOURS.1.CONDITION]
: as condições da previsão para daqui a uma hora.[WEATHER.DAYS.2.CONDITION]
: as condições da previsão para daqui a dois dias.
Os dados por hora podem estar disponíveis com até oito horas de antecedência, e os dados diários de até cinco dias
à frente. No entanto, o mostrador do relógio deve sempre verificar a disponibilidade
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 a previsão
os dados estiverem disponíveis por uma hora a partir de agora. Use [WEATHER.HOURS.1.IS_AVAILABLE]
.
As previsões diárias e por hora também apresentam várias métricas, como
[WEATHER.HOURS.<N>.TEMPERATURE]
e
[WEATHER.DAYS.<N>.CHANCE_OF_PRECIPITATION]
. Para mais detalhes
de métricas disponíveis, incluindo unidades e tipos de dados, acesse o
fontes de dados.
Como fazer testes com dados meteorológicos
Para acessar dados meteorológicos, o dispositivo Wear OS precisa estar ciente da localização dele.
Para economizar energia, o relógio não usa o sensor de GPS integrado para determinar um local para a previsão do tempo e, em vez disso, depender da localização em um dispositivo portátil conectado ou em redes disponíveis.
Para disponibilizar dados de local para teste, siga um destes procedimentos:
- Parear 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 obter um exemplo completo de como acessar e processar dados meteorológicos, consulte o Exemplo do GitHub.
Recomendados para você
- Observação: o texto do link aparece quando o JavaScript está desativado.
- Mudar o comportamento de foco
- Efeitos colaterais no Compose
- Referência rápida da AGSL