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

از نسخه ۲، قالب واچ فیس شامل پشتیبانی از داده‌های آب و هوا می‌شود. این داده‌ها طیف وسیعی از معیارها و بازه‌های زمانی را پوشش می‌دهد، از شرایط فعلی گرفته تا پیش‌بینی‌های ساعتی و روزانه.

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

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

در دسترس بودن

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

همچنین باید [WEATHER.IS_ERROR] را بررسی کنید، که نشان دهنده خطایی در بارگیری داده‌های آب و هوا است.

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

تازگی داده‌ها

با استفاده از [WEATHER.LAST_UPDATED] که یک مهر زمانی Unix epoch بر حسب میلی‌ثانیه است، می‌توان به مهر زمانی داده‌های موجود دسترسی پیدا کرد.

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

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

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

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

سایر معیارها

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

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

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

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

داده‌های ساعتی می‌توانند تا ۸ ساعت آینده و داده‌های روزانه تا ۵ روز آینده در دسترس باشند. با این حال، صفحه ساعت باید همیشه در دسترس بودن داده‌های پیش‌بینی را بررسی کند. ممکن است در زمان‌ها یا دستگاه‌های مختلف، محدوده متفاوتی از ساعت یا روز در دسترس باشد. به عنوان مثال، برای بررسی اینکه آیا داده‌های پیش‌بینی برای ۱ ساعت آینده در دسترس است یا خیر، [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

جزئیات بیشتر

برای مشاهده‌ی یک مثال کامل از دسترسی و رندر داده‌های آب و هوا، به نمونه‌ی گیت‌هاب مراجعه کنید.

{% کلمه به کلمه %} {% فعل کمکی %} {% کلمه به کلمه %} {% فعل کمکی %}