A partir de la versión 2, el Formato de Caras de Relojes incluye compatibilidad con datos meteorológicos. Estos datos abarcan una variedad de métricas y períodos, desde las condiciones actuales a previsiones por hora y por día.
Para acceder al clima, se usan expresiones. Por ejemplo, para mostrar el estado
las condiciones climáticas en un elemento <Text>
, usa una expresión similar a
lo siguiente:
<Text>
<Font family="SYNC_TO_DEVICE" size="32">
<Template>Today's weather: %s
<Parameter expression="[WEATHER.CONDITION_NAME]"/>
</Template>
</Font>
</Text>
Disponibilidad
Las caras de reloj siempre deben verificar el valor [WEATHER.IS_AVAILABLE]
antes
Acceder a otros miembros del 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>
Además, la cara de reloj debe marcar [WEATHER.IS_ERROR]
, lo que indica
un error en la carga de datos meteorológicos.
Ten en cuenta que [WEATHER.IS_AVAILABLE]
y [WEATHER.IS_ERROR]
pueden ser verdaderos,
en la que los datos están inactivos y fallan los intentos de actualizarlos. En esos casos,
se puede mostrar el clima disponible, junto con un indicador para indicar que hay
se produjo un error al recuperar los datos nuevos.
Actualidad de los datos
Se puede acceder a la marca de tiempo de los datos disponibles
[WEATHER.LAST_UPDATED]
, que es una marca de tiempo Unix epoch en milisegundos.
Se puede formatear este valor con el método icuText(,)
para obtener una
legible por humanos, como se demuestra en el ejemplo del clima.
Condiciones climáticas
Las condiciones actuales están disponibles en [WEATHER.CONDITION]
, con un
legible por humanos en [WEATHER.CONDITION_NAME]
.
Los valores de [WEATHER.CONDITION]
se pueden ver en las fuentes de datos. Para
ejemplo, 4
representa HEAVY_RAIN
.
Otras métricas
El Formato de Caras de Relojes proporciona un rango de métricas adicionales, como
[WEATHER.TEMPERATURE]
y [WEATHER.UV_INDEX]
. Para ver todos los detalles
de las métricas disponibles, como las unidades y los tipos de datos, consulta el
fuentes de datos.
Pronósticos por hora y por día
Puedes acceder a las condiciones de previsión de una hora o un día específicos en el futuro de la siguiente manera:
[WEATHER.HOURS.1.CONDITION]
: Indica las condiciones del pronóstico en 1 hora a partir de ahora.[WEATHER.DAYS.2.CONDITION]
: Indica las condiciones de previsión en 2 días a partir de ahora.
Los datos por hora pueden estar disponibles hasta 8 horas de anticipación y los datos diarios hasta 5 días
más adelante. Sin embargo, la cara de reloj siempre debe comprobar la disponibilidad de
datos de previsión. Es posible que haya un intervalo diferente de horas o días disponible en
en distintos momentos o dispositivos. Por ejemplo, para verificar si la previsión
los datos están disponibles durante 1 hora a partir de ahora, usa [WEATHER.HOURS.1.IS_AVAILABLE]
.
Las previsiones diarias y por hora también incluyen una variedad de métricas, como
[WEATHER.HOURS.<N>.TEMPERATURE]
y
[WEATHER.DAYS.<N>.CHANCE_OF_PRECIPITATION]
Para obtener todos los detalles
de las métricas disponibles, como las unidades y los tipos de datos, consulta el
fuentes de datos.
Realiza pruebas con datos meteorológicos
Para obtener datos del clima, el dispositivo Wear OS debe conocer su ubicación.
Para ahorrar energía, el reloj no usa el sensor GPS integrado para hacer lo siguiente: determinan una ubicación para el pronóstico del tiempo y, en su lugar, se basan en la ubicación desde un dispositivo de mano conectado o desde las redes disponibles.
Si deseas que los datos de ubicación estén disponibles para pruebas, realiza una de las siguientes acciones:
- Vincula tu emulador de Wear OS con un teléfono físico o emulador.
- Simula la ubicación con el siguiente 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
Más detalles
Para obtener un ejemplo completo de cómo acceder a datos meteorológicos y renderizarlos, consulta la Muestra de GitHub.
Recomendaciones para ti
- Nota: El texto del vínculo se muestra cuando JavaScript está desactivado
- Cómo cambiar el comportamiento del enfoque
- Efectos secundarios en Compose
- Referencia rápida de AGSL