داده های آب و هوا در قالب Watch Face

از نسخه 2، فرمت Watch Face شامل پشتیبانی از داده های آب و هوا می شود. این داده ها طیف وسیعی از معیارها و بازه های زمانی، از شرایط فعلی تا پیش بینی های ساعتی و روزانه را پوشش می دهد.

آب و هوا با استفاده از عبارات قابل دسترسی است. به عنوان مثال، برای نشان دادن شرایط آب و هوایی فعلی در یک عنصر <Text> ، از عبارتی شبیه به زیر استفاده کنید:

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

در دسترس بودن

چهره‌های ساعت همیشه باید مقدار [WEATHER.IS_AVAILABLE] را قبل از دسترسی به سایر اعضای شیء [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>

علاوه بر این، صفحه ساعت باید [WEATHER.IS_ERROR] را بررسی کند، که نشان دهنده خطا در بارگیری داده های آب و هوا است.

توجه داشته باشید که [WEATHER.IS_AVAILABLE] و [WEATHER.IS_ERROR] هر دو می توانند درست باشند، در جایی که داده ها قدیمی هستند و تلاش برای بازخوانی داده ها ناموفق است. در چنین مواردی، آب و هوای موجود را می توان به همراه نشانگر نشان داد که خطا در واکشی داده های جدید رخ داده است.

تازگی داده ها

با استفاده از [WEATHER.LAST_UPDATED] که یک مهر زمانی دوره یونیکس در میلی ثانیه است، می توان به مهر زمانی داده های موجود دسترسی داشت.

این مقدار را می توان با استفاده از روش icuText(,) برای به دست آوردن یک نمایش قابل خواندن برای انسان، همانطور که در نمونه آب و هوا نشان داده شد، قالب بندی کرد.

شرایط آب و هوایی

شرایط فعلی در [WEATHER.CONDITION] و نسخه قابل خواندن برای انسان در [WEATHER.CONDITION_NAME] موجود است.

مقادیر [WEATHER.CONDITION] را می توان در منابع داده مشاهده کرد. به عنوان مثال، 4 نشان دهنده HEAVY_RAIN است.

سایر معیارها

قالب Watch Face طیفی از معیارهای اضافی مانند [WEATHER.TEMPERATURE] و [WEATHER.UV_INDEX] را ارائه می دهد. برای جزئیات کامل معیارهای موجود، از جمله واحدها و انواع داده، از صفحه مرجع منابع داده دیدن کنید.

پیش بینی های ساعتی و روزانه

به شرح زیر می توانید به شرایط پیش بینی برای یک ساعت یا روز خاص در آینده دسترسی داشته باشید:

  • [WEATHER.HOURS.1.CONDITION] - شرایط پیش‌بینی 1 ساعت بعد.
  • [WEATHER.DAYS.2.CONDITION] - شرایط پیش‌بینی 2 روز دیگر.

داده های ساعتی را می توان تا 8 ساعت جلوتر و داده های روزانه تا 5 روز جلوتر در دسترس قرار داد. با این حال، صفحه ساعت باید همیشه در دسترس بودن داده های پیش بینی را بررسی کند. ممکن است محدوده ساعت یا روز متفاوتی در زمان‌های مختلف یا دستگاه‌های مختلف در دسترس باشد. برای مثال، برای بررسی اینکه آیا داده‌های پیش‌بینی برای ۱ ساعت از هم‌اکنون در دسترس هستند، از [WEATHER.HOURS.1.IS_AVAILABLE] استفاده کنید.

پیش‌بینی‌های روزانه و ساعتی همچنین دارای طیفی از معیارها هستند، مانند [WEATHER.HOURS.<N>.TEMPERATURE] و [WEATHER.DAYS.<N>.CHANCE_OF_PRECIPITATION] . برای جزئیات کامل معیارهای موجود، از جمله واحدها و انواع داده، از صفحه مرجع منابع داده دیدن کنید.

تست با داده های آب و هوا

برای به دست آوردن اطلاعات آب و هوا، دستگاه Wear OS باید از مکان دستگاه آگاه باشد.

برای صرفه جویی در مصرف انرژی، ساعت از سنسور GPS داخلی برای تعیین مکان برای پیش بینی آب و هوا استفاده نمی کند، و در عوض به مکان از یک دستگاه دستی متصل یا شبکه های موجود متکی است.

برای در دسترس قرار دادن اطلاعات مکان برای آزمایش، یکی از موارد زیر را انجام دهید:

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

جزئیات بیشتر

برای مثال کاملی از دسترسی و ارائه داده های آب و هوا، نمونه GitHub را ببینید.

{% کلمه به کلمه %} {% آخر کلمه %} {% کلمه به کلمه %} {% آخر کلمه %}