Sejak versi 2, Format Tampilan Jam menyertakan dukungan untuk data cuaca. Data ini mencakup berbagai metrik dan jangka waktu, mulai dari kondisi saat ini hingga prakiraan per jam dan harian.
Cuaca diakses menggunakan ekspresi. Misalnya, untuk menampilkan kondisi cuaca saat ini dalam elemen <Text>, gunakan ekspresi yang mirip dengan berikut ini:
<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>
Ketersediaan
Sebelum Anda mengakses anggota lain dari objek [WEATHER.*], periksa nilai
[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>
Anda juga harus memeriksa [WEATHER.IS_ERROR], yang menunjukkan error saat memuat data cuaca.
Perhatikan bahwa [WEATHER.IS_AVAILABLE] dan [WEATHER.IS_ERROR] dapat bernilai benar,
jika data sudah tidak berlaku dan upaya untuk memuat ulang data gagal. Dalam kasus tersebut,
cuaca yang tersedia dapat ditampilkan, beserta indikator untuk menunjukkan bahwa
terjadi error saat mengambil data baru.
Keaktualan data
Stempel waktu data yang tersedia dapat diakses menggunakan
[WEATHER.LAST_UPDATED] yang merupakan stempel waktu epoch Unix dalam milidetik.
Nilai ini dapat diformat menggunakan metode icuText(,) untuk mendapatkan representasi yang mudah dibaca, seperti yang ditunjukkan dalam contoh cuaca.
Kondisi cuaca
Kondisi saat ini tersedia di [WEATHER.CONDITION], dengan versi yang mudah dibaca di [WEATHER.CONDITION_NAME].
Nilai untuk [WEATHER.CONDITION] dapat dilihat di sumber data. Misalnya, 4 merepresentasikan HEAVY_RAIN.
Metrik lainnya
Format Tampilan Jam menyediakan berbagai metrik tambahan, seperti
[WEATHER.TEMPERATURE] dan [WEATHER.UV_INDEX]. Untuk mengetahui detail lengkap
metrik yang tersedia, termasuk unit dan jenis data, buka halaman referensi
sumber data.
Prakiraan cuaca per jam dan harian
Anda dapat mengakses kondisi perkiraan untuk jam atau hari tertentu di masa mendatang sebagai berikut:
[WEATHER.HOURS.1.CONDITION]- kondisi prakiraan cuaca 1 jam dari sekarang.[WEATHER.DAYS.2.CONDITION]- kondisi perkiraan 2 hari dari sekarang.
Data per jam dapat tersedia hingga 8 jam sebelumnya, dan data harian hingga 5 hari sebelumnya. Namun, tampilan jam harus selalu memeriksa ketersediaan data perkiraan cuaca. Rentang jam atau hari yang berbeda mungkin tersedia pada waktu yang berbeda, atau di perangkat yang berbeda. Misalnya, untuk memeriksa apakah data perkiraan
tersedia untuk 1 jam dari sekarang, gunakan [WEATHER.HOURS.1.IS_AVAILABLE].
Prakiraan cuaca harian dan per jam juga menampilkan berbagai metrik, seperti
[WEATHER.HOURS.<N>.TEMPERATURE] dan
[WEATHER.DAYS.<N>.CHANCE_OF_PRECIPITATION]. Untuk mengetahui detail lengkap
metrik yang tersedia, termasuk unit dan jenis data, buka halaman referensi
sumber data.
Menguji dengan data cuaca
Untuk mendapatkan data cuaca, perangkat Wear OS harus mengetahui lokasi perangkat.
Untuk menghemat daya, smartwatch tidak menggunakan sensor GPS bawaan untuk menentukan lokasi prakiraan cuaca, tetapi mengandalkan lokasi dari perangkat genggam yang terhubung atau dari jaringan yang tersedia.
Untuk menyediakan data lokasi untuk pengujian, lakukan salah satu hal berikut:
- Sambungkan emulator Wear OS dengan ponsel fisik atau emulator.
- Simulasikan lokasi melalui perintah adb berikut:
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
Detail lebih lanjut
Untuk contoh lengkap cara mengakses dan merender data cuaca, lihat contoh GitHub.
Direkomendasikan untuk Anda
- Catatan: teks link ditampilkan saat JavaScript nonaktif
- Mengubah perilaku fokus
- Efek samping di Compose
- Referensi Cepat AGSL