يتضمّن الإصدار 2 من "تنسيق خلفية شاشة الساعة" إمكانية عرض بيانات الطقس. تغطّي هذه البيانات مجموعة من المقاييس والأُطر الزمنية، بدءًا من أحوال الطقس الحالية ووصولاً إلى التوقّعات كل ساعة وكل يوم.
يمكن الوصول إلى معلومات الطقس باستخدام التعبيرات. على سبيل المثال، لعرض أحوال الطقس الحالية في عنصر <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 بالملي ثانية.
يمكن تنسيق هذه القيمة باستخدام طريقة icuText(,) للحصول على تمثيل قابل للقراءة، كما هو موضّح في نموذج الطقس.
أحوال الطقس
تتوفّر الشروط الحالية في [WEATHER.CONDITION]، مع إصدار قابل للقراءة في [WEATHER.CONDITION_NAME].
يمكن الاطّلاع على قيم [WEATHER.CONDITION] في مصادر البيانات. على سبيل المثال، يمثّل 4 HEAVY_RAIN.
مقاييس أخرى
يوفّر "تنسيق خلفية شاشة الساعة" مجموعة من المقاييس الإضافية، مثل
[WEATHER.TEMPERATURE] و[WEATHER.UV_INDEX]. للاطّلاع على التفاصيل الكاملة
للمقاييس المتاحة، بما في ذلك الوحدات وأنواع البيانات، انتقِل إلى صفحة
مصادر البيانات المرجعية.
توقّعات الطقس كل ساعة ويوميًا
يمكنك الوصول إلى توقعات الطقس لساعة أو يوم معيّن في المستقبل باتّباع الخطوات التالية:
-
[WEATHER.HOURS.1.CONDITION]: حالة الطقس المتوقّعة بعد ساعة واحدة من الآن [WEATHER.DAYS.2.CONDITION]: حالة الطقس المتوقّعة بعد يومَين من الآن
يمكن أن تتوفّر البيانات كل ساعة قبل 8 ساعات، والبيانات اليومية قبل 5 أيام. ومع ذلك، يجب أن تتحقّق خلفية شاشة الساعة دائمًا من توفّر بيانات التوقّعات. قد تتوفّر مجموعة مختلفة من الساعات أو الأيام في أوقات مختلفة أو على أجهزة مختلفة. على سبيل المثال، للتحقّق مما إذا كانت بيانات التوقعات متوفّرة لمدة ساعة من الآن، استخدِم [WEATHER.HOURS.1.IS_AVAILABLE].
تتضمّن التوقّعات اليومية والساعية أيضًا مجموعة من المقاييس، مثل
[WEATHER.HOURS.<N>.TEMPERATURE] و
[WEATHER.DAYS.<N>.CHANCE_OF_PRECIPITATION]. للاطّلاع على التفاصيل الكاملة
للمقاييس المتاحة، بما في ذلك الوحدات وأنواع البيانات، انتقِل إلى صفحة
مصادر البيانات المرجعية.
الاختبار باستخدام بيانات الطقس
للحصول على بيانات الطقس، يجب أن يكون جهاز Wear OS على دراية بالموقع الجغرافي للجهاز.
للحفاظ على الطاقة، لا تستخدم الساعة أداة استشعار نظام تحديد المواقع العالمي (GPS) المدمجة لتحديد الموقع الجغرافي لتوقّعات الطقس، بل تعتمد بدلاً من ذلك على الموقع الجغرافي من جهاز جوّال متصل أو من الشبكات المتاحة.
لإتاحة بيانات الموقع الجغرافي للاختبار، اتّبِع أحد الإجراءات التالية:
- إقران محاكي Wear OS بهاتف حقيقي أو محاكي هاتف
- محاكاة الموقع الجغرافي من خلال أمر adb التالي:
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.
اقتراحات مخصصة لك
- ملاحظة: يتم عرض نص الرابط عندما تكون JavaScript غير مفعّلة.
- تغيير سلوك التركيز
- الآثار الجانبية في Compose
- مرجع سريع حول AGSL