Saat Kadranı Biçimindeki hava durumu verileri

Saat Kadranı Formatı'nda sürüm 2'den itibaren hava durumu verileri de desteklenir. Bu veriler, mevcut koşullardan saatlik ve günlük tahminlere kadar çeşitli metrikleri ve zaman aralıklarını kapsar.

İfadeler kullanılarak hava durumuna erişilir. Örneğin, bir <Text> öğesinde mevcut hava durumu koşullarını göstermek için aşağıdakine benzer bir ifade kullanın:

<Text>
  <Font family="SYNC_TO_DEVICE" size="32">
    <Template>Today's weather: %s
        <Parameter expression="[WEATHER.CONDITION_NAME]"/>
    </Template>
  </Font>
</Text>

Kullanılabilirlik

Kadranlar, [WEATHER.*] nesnesinin diğer üyelerine erişmeden önce her zaman [WEATHER.IS_AVAILABLE] değerini kontrol etmelidir:

<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>

Ayrıca kadran, [WEATHER.IS_ERROR] durumunu kontrol etmelidir. Bu, hava durumu verilerinin yüklenmesinde hata olduğu anlamına gelir.

Verilerin eski olduğu ve veri yenileme girişiminin başarısız olduğu [WEATHER.IS_AVAILABLE] ve [WEATHER.IS_ERROR] değerlerinin her ikisinin de doğru olabileceğini unutmayın. Bu gibi durumlarda, yeni veriler alınırken bir hata oluştuğunu belirten bir göstergeyle birlikte mevcut hava durumu gösterilebilir.

Verilerin güncelliği

Kullanılabilir verilerin zaman damgasına, milisaniye cinsinden Unix sıfır zaman damgası olan [WEATHER.LAST_UPDATED] kullanılarak erişilebilir.

Hava durumu örneğinde gösterildiği gibi, bu değer, kullanıcıların okuyabileceği bir gösterim elde etmek için icuText(,) yöntemi kullanılarak biçimlendirilebilir.

Hava şartları

Mevcut koşullar [WEATHER.CONDITION] dilinde, [WEATHER.CONDITION_NAME] dilinde insan tarafından okunabilecek şekilde sunulmaktadır.

[WEATHER.CONDITION] değerleri veri kaynaklarında görülebilir. Örneğin 4, HEAVY_RAIN değerini temsil eder.

Diğer ölçümler

Saat Kadranı Formatı, [WEATHER.TEMPERATURE] ve [WEATHER.UV_INDEX] gibi bir dizi ek metrik sağlar. Birimler ve veri türleri dahil olmak üzere mevcut metriklerin tüm ayrıntıları için veri kaynakları referans sayfasını ziyaret edin.

Saatlik ve günlük tahminler

Gelecekte belirli bir saat veya gün için tahmin koşullarına şu şekilde erişebilirsiniz:

  • [WEATHER.HOURS.1.CONDITION] - 1 saat sonraki tahmin koşulları.
  • [WEATHER.DAYS.2.CONDITION] - 2 gün sonraki tahmin koşulları.

Saatlik veriler 8 saat kadar öncesine ve günlük veriler 5 gün sonrasına kadar kullanılabilir. Ancak kadran her zaman tahmin verilerinin kullanılabilirliğini kontrol etmelidir. Farklı saat veya gün aralıkları, farklı zamanlarda ya da cihazlarda mevcut olabilir. Örneğin, tahmin verilerinin şu andan itibaren 1 saat boyunca kullanılabilir olup olmadığını kontrol etmek için [WEATHER.HOURS.1.IS_AVAILABLE] değerini kullanın.

Günlük ve saatlik tahminler, [WEATHER.HOURS.<N>.TEMPERATURE] ve [WEATHER.DAYS.<N>.CHANCE_OF_PRECIPITATION] gibi bir dizi metriği de içerir. Birimler ve veri türleri dahil olmak üzere mevcut metriklerin tüm ayrıntıları için veri kaynakları referans sayfasını ziyaret edin.

Hava durumu verileriyle test etme

Hava durumu verilerini almak için Wear OS cihazın, cihazın konumunu bilmesi gerekir.

Saat güçten tasarruf etmek için hava durumu tahmininde konum belirlemek üzere yerleşik GPS sensörünü kullanmaz. Bunun yerine, bağlı bir avuç içi cihazdan veya kullanılabilir ağlardan alınan konum bilgisini kullanır.

Konum verilerini test için kullanılabilir hale getirmek üzere aşağıdakilerden birini yapın:

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

Diğer ayrıntılar

Hava durumu verilerine erişme ve verileri oluşturma konusunda tam bir örnek için GitHub örneğine bakın.