Data cuaca dalam Format Tampilan Jam

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 cuaca 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 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, bersama dengan 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 mewakili 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 prakiraan cuaca 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 prakiraan cuaca 2 hari dari sekarang.

Data per jam dapat tersedia hingga 8 jam ke depan, dan data harian hingga 5 hari ke depan. Namun, tampilan jam harus selalu memeriksa ketersediaan data prakiraan cuaca. Rentang jam atau hari yang berbeda mungkin tersedia pada waktu yang berbeda, atau perangkat yang berbeda. Misalnya, untuk memeriksa apakah data prakiraan cuaca 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.

Pengujian dengan data cuaca

Untuk mendapatkan data cuaca, perangkat Wear OS harus mengetahui lokasi perangkat.

Untuk menghemat daya, jam tangan tidak menggunakan sensor GPS terpasang untuk menentukan lokasi prakiraan cuaca, dan bergantung pada lokasi dari perangkat genggam yang terhubung atau dari jaringan yang tersedia.

Untuk menyediakan data lokasi untuk pengujian, lakukan salah satu hal 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 selengkapnya

Untuk contoh lengkap cara mengakses dan merender data cuaca, lihat contoh GitHub.