يتضمّن هذا الدليل خطوات حول الأدوات التي تحتاجها لضبط خلفية شاشة الساعة باستخدام تنسيق خلفية شاشة الساعة، وبعض الاقتراحات حول بنية المشروع، وأحد الأدلة المفصّلة لتطبيق الأدوات لإنشاء هذه البنية.
المتطلّبات الأساسية
لإعداد بيئة التطوير لاستخدام تنسيق خلفية شاشة الساعة، عليك إكمال خطوات الإعداد التالية:
ثبِّت حزمة تطوير البرامج (SDK) لنظام التشغيل Android 14 (المستوى 34 لواجهة برمجة التطبيقات) أو إصدار أحدث. إذا كانت خلفية شاشة الساعة لا تعتمد على ميزات أو سلوكيات خاصة بالإصدار 2، يمكنك تثبيت حزمة SDK لنظام التشغيل Android 13 (المستوى 33 لواجهة برمجة التطبيقات) بدلاً من ذلك.
تحتوي حزمة SDK على أدوات مطلوبة أخرى، بما في ذلك
aapt2
وandroid.jar
.كبديل، يمكنك تثبيت استوديو Android الذي يمكنه أيضًا توفير هذه الأدوات.
بنية المشروع
عند إنشاء خلفية شاشة ساعة مخصّصة تستخدِم تنسيق خلفية شاشة الساعة، يجب أن تكون مجموعة حزمات تطبيق Android التي تتضمّن ملف خلفية شاشة الساعة المخصّصة منفصلة تمامًا عن مجموعة حزمات تطبيق Android التي تتضمّن منطق تطبيق Wear OS. تمنع بعض متاجر التطبيقات، بما في ذلك Google Play، من تحميل مجموعة حزمات تطبيق Android التي تتضمّن منطق Wear OS وخلفية شاشة ساعة مخصّصة.
إنشاء حِزمة خلفية شاشة الساعة
لإنشاء "مجموعة حزمات تطبيق Android" تحتوي على ملف لخلفية شاشة الساعة، عليك إكمال الخطوات الموضّحة في الأقسام التالية.
الإفصاح عن استخدام "تنسيق خلفية شاشة الساعة"
في ملف بيان تطبيقك الجديد (AndroidManifest.xml
)، أضِف سمة
تطبيق تشير إلى استخدامك لتنسيق خلفية شاشة الساعة. إذا كنت لا تريد
حظر الوصول إلى خلفية شاشة الساعة على الأجهزة التي تعمل بنظام التشغيل Wear OS 5 أو الإصدارات الأحدث،
أنشئ حِزم APK مختلفتَين لخلفية شاشة الساعة، إحداهما متوافقة مع الإصدار 2 والأخرى
متوافقة مع الإصدار 1. مزيد من المعلومات حول كيفية ضبط إصدارات تطبيقك
<?xml version="1.0" encoding="utf-8" standalone="no"?> <manifest ...> <!-- Use SDK version 34 for version 2 of WFF, and SDK version 33 for version 1 of WFF --> <uses-sdk android:minSdkVersion="34" android:targetSdkVersion="34" /> <!-- WFF is a resource-only format, so the hasCode attribute should be set to false to reflect this. --> <application android:label="@string/watch_face_name" android:hasCode="false" ...> <property android:name="com.google.wear.watchface.format.version" android:value="2" /> </application> </manifest>
الإفصاح عن البيانات الوصفية لخلفية شاشة الساعة
في دليل موارد res/xml
الخاص بتطبيقك، أنشئ ملفًا جديدًا باسم
watch_face_info.xml
. يمكنك هنا تحديد البيانات الوصفية لخلفية شاشة الساعة:
<?xml version="1.0" encoding="utf-8"?>
<WatchFaceInfo>
<!-- Only "Preview" is required. -->
<Preview value="@drawable/watch_face_preview" />
<Category value="CATEGORY_EMPTY" />
<AvailableInRetail value="true" />
<MultipleInstancesAllowed value="true" />
<Editable value="true" />
</WatchFaceInfo>
تمثّل الحقول في هذا الملف التفاصيل التالية:
Preview
- يشير إلى العنصر القابل للرسم الذي يحتوي على صورة معاينة لخلفية شاشة الساعة.
Category
تُحدِّد فئة خلفية شاشة الساعة. يجب أن تكون سلسلة أو إشارة إلى سلسلة، مثل
@string/ref_name
. يمكن لكل شركة مصنّعة للأجهزة تحديد مجموعة فئات خلفيات شاشة الساعة الخاصة بها.القيمة التلقائية:
empty_category_meta
، وهي تجمع خلفية شاشة الساعة هذه مع خلفيات شاشة الساعة الأخرى من "الفئة الفارغة" في أسفل عرض أداة اختيار خلفية شاشة الساعة.AvailableInRetail
تشير هذه السمة إلى ما إذا كانت خلفية شاشة الساعة متاحة في وضع العرض الإيضاحي للبيع بالتجزئة على الجهاز. يجب أن تكون قيمة منطقية أو مرجعًا لقيمة منطقية مثل
@bool/watch_face_available_in_retail
.القيمة التلقائية:
false
MultipleInstancesAllowed
يمكنك اختيار ما إذا كان يمكن إضافة العديد من المحتوى المفضّل لخلفية شاشة الساعة. يجب أن تكون قيمة منطقية أو إشارة إلى قيمة منطقية مثل
@bool/watch_face_multiple_instances_allowed
.القيمة التلقائية:
false
Editable
ما إذا كانت خلفية شاشة الساعة قابلة للتعديل، ما يعني أنّ خلفية شاشة الساعة تتضمّن إضافة واحدة على الأقل غير ثابتة أو أحد الإعدادات يُستخدَم هذا الخيار لعرض الزر تعديل لخلفية شاشة الساعة أو إخفائه في قائمة الخلفيات المفضّلة.
القيمة التلقائية: خطأ
تحديد اسم خلفية شاشة الساعة
في ملف بيان تطبيقك (AndroidManifest.xml
)، اضبط السمة android:label
على اسم خلفية شاشة الساعة:
<application android:label="@string/watch_face_name" >
الإفصاح عن توافق التطبيق مع أشكال خلفيات شاشة الساعة (اختياري)
هذه الخطوة ضرورية فقط إذا كنت تريد اعتماد سلوك مختلف لأحجام مختلفة من خلفيات شاشة الساعة. يمكنك تخطّي هذه الخطوة إذا كنت تريد أن يتم تغيير حجم خلفية شاشة الساعة وفقًا لحجم الساعة.
في دليل res/xml
resources (ملفات مرجعية) في تطبيقك، أدخِل مجموعة أشكال
خلفيات شاشة الساعة التي تتيحها في watch_face_shapes.xml
:
<WatchFaces>
<!-- The default shape is "CIRCLE". -->
<WatchFace shape="CIRCLE" width="300" height="300"
file="@raw/watchface"/>
<WatchFace shape="CIRCLE" width="450" height="450"
file="@raw/watchface_large_circle"/>
<WatchFace shape="RECTANGLE" width="380" height="400"
file="@raw/watchface_rectangle"/>
</WatchFaces>
الإفصاح عن تفاصيل خلفية شاشة الساعة
في دليل موارد res/raw
الخاص بتطبيقك، أنشئ ملفات تتوافق مع قيم سمة
file
المستخدَمة عند الإفصاح عن توافق خلفية شاشة الساعة مع
أشكال معيّنة.
يمكنك هنا تحديد مظهر خلفية شاشة الساعة وسلوكها
لكل شكل من أشكال خلفية شاشة الساعة. إذا لم تحدِّد ملف أشكال، ما عليك سوى
إنشاء ملف واحد، وهو watchface.xml
.
باستخدام المثال من هذه الصفحة، ستكون ملفات XML غير المعدّلة كما يلي:
res/raw/watchface.xml
res/raw/watchface_large_circle.xml
res/raw/watchface_rectangle.xml
يكون عنصر الجذر دائمًا WatchFace
:
<WatchFace width="450" height="450" clipShape="CIRCLE">
<!-- Remainder of your Watch Face Format definition here. -->
<!-- If this file defines a watch face for a circular device shape, place
resources used in this file in the "/res/drawable-nodpi" directory. -->
<!-- If this file defines a watch face for a rectangular or other
non-circular shape, place resources ued in this file in the
"/res/drawable-notround-nodpi" directory. -->
</WatchFace>
تحديد ناشر خلفية شاشة الساعة (اختياري)
يمكنك اختياريًا في ملف بيان تطبيقك تعريف سلسلة عشوائية يمكنك استخدامها لتحديد ناشر خلفية شاشة الساعة أو اسم الأداة وإصدارها اللذَين تستخدمهما:
<application ...> ... <property android:name="com.google.wear.watchface.format.publisher" android:value="{toolName}-{toolVersion}" /> </application>
التحقّق من صحة خلفية شاشة الساعة وأدائها
أثناء التطوير وقبل التحميل إلى Google Play، استخدِم أداة التحقّق للتأكّد من أنّ خلفية شاشة الساعة خالية من الأخطاء وأنّها تلتزم باقتراحات استخدام الذاكرة.
- اطّلِع على مزيد من المعلومات عن تحسين استخدام الذاكرة والتحقّق من استخدام الذاكرة استعدادًا للنشر.
- اطّلِع على مزيد من المعلومات حول استخدام مدقّق XML كجزء من دورة التطوير.
إنشاء حِزمة تطبيق خلفية شاشة الساعة
لإنشاء مجموعة حزمات تطبيق Android التي تحتوي على خلفية شاشة الساعة، استخدِم نظام إنشاء Gradle. اطّلِع على مزيد من المعلومات عن كيفية إنشاء تطبيق باستخدام IDE IDE Gradle.
ويتم توضيح ذلك في عيّنات GitHub.
أفلام مُقترَحة لك
- ملاحظة: يتم عرض نص الرابط عندما تكون لغة JavaScript غير مفعّلة.
- AAPT2
- أساسيات Jetpack Compose
- بدء استخدام CameraX