توجه : این صفحه مرحله ای از فرآیند مدیریت دستی پیکربندی صفحه ساعت را به شما نشان می دهد. اگر می خواهید صفحه ساعت خود را با استفاده از ابزار سبک WYSIWYG (آنچه می بینید همان چیزی است که به دست می آورید) طراحی کنید، ابتدا راهنمای Watch Face Studio را بررسی کنید.
این راهنما شامل مراحل مربوط به ابزارهایی است که برای پیکربندی صفحه ساعت با استفاده از فرمت Watch Face نیاز دارید، چند پیشنهاد در مورد ساختار پروژه، و راهنمای گام به گام برای استفاده از ابزارها برای ایجاد آن ساختار.
پیش نیازها
برای آماده سازی محیط توسعه خود برای استفاده از فرمت Watch Face، مراحل راه اندازی زیر را انجام دهید:
SDK را برای Android 14 (سطح API 34) یا بالاتر نصب کنید. اگر صفحه ساعت شما به ویژگیها یا رفتار مخصوص نسخه 2 متکی نیست، میتوانید به جای آن SDK را برای Android 13 (سطح API 33) نصب کنید.
SDK شامل سایر ابزارهای مورد نیاز، از جمله
aapt2
وandroid.jar
است.از طرف دیگر ، Android Studio را نصب کنید، که می تواند این ابزارها را نیز ارائه دهد.
ساختار پروژه
وقتی یک صفحه ساعت سفارشی ایجاد میکنید که از فرمت Watch Face استفاده میکند، برنامه Android App Bundle که شامل فایل صفحه ساعت سفارشی میشود باید کاملاً جدا از Android App Bundle که حاوی منطق برنامه Wear OS شما است، باشد. برخی از فروشگاههای برنامه، از جمله Google Play، از آپلود یک Android App Bundle که شامل منطق Wear OS و صفحه ساعت سفارشی است، جلوگیری میکنند.
بسته صفحه ساعت ایجاد کنید
برای ایجاد یک Android App Bundle که دارای یک فایل صفحه ساعت است، مراحل نشان داده شده در بخشهای زیر را کامل کنید.
استفاده از فرمت Watch Face را اعلام کنید
در فایل مانیفست برنامه جدید خود ( AndroidManifest.xml
)، یک ویژگی برنامه اضافه کنید که نشان دهنده استفاده شما از قالب Watch Face است. اگر نمیخواهید دسترسی به صفحه ساعت خود را برای دستگاههای دارای سیستمعامل Wear OS 5 یا بالاتر محدود کنید، 2 APK صفحه ساعت مختلف ایجاد کنید، یکی که از نسخه 2 و دیگری از نسخه 1 پشتیبانی میکند. درباره نحوه پیکربندی نسخههای برنامه خود بیشتر بدانید.
<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"
...>
<meta-data android:name="com.google.android.wearable.standalone"
android:value="true" />
<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>
<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
اینکه آیا صفحه ساعت قابل ویرایش است یا خیر، به این معنی که صفحه ساعت دارای تنظیمات یا حداقل یک عارضه غیر ثابت است. این برای نمایش یا پنهان کردن دکمه ویرایش برای صفحه ساعت در لیست علاقه مندی ها استفاده می شود.
مقدار پیش فرض: false
نام چهره ساعت را اعلام کنید
در فایل مانیفست برنامه خود ( AndroidManifest.xml
)، ویژگی android:label
روی نام صفحه ساعت خود تنظیم کنید:
<application android:label="@string/watch_face_name" >
جزئیات صفحه ساعت را اعلام کنید
ساختار یک سند صفحه ساعت اولیه WFF به شرح زیر است:
<WatchFace width="450" height="450">
<Scene>
<!-- Content to be rendered -->
</Scene>
</WatchFace>
اگر با یک صفحه ساعت کار می کنید، این فایل XML را به صورت res/raw/watchface.xml
در هنگام ساخت صفحه ساعت خود ایجاد کنید. برای پشتیبانی از اشکال و اندازه های مختلف صفحه نمایش، پشتیبانی از چندین شکل و اندازه را اعلام کنید .
عنصر ریشه همیشه WatchFace
است. height
و width
، وسعت فضای مختصات را برای استفاده در صفحه ساعت شما مشخص میکند، و صفحه ساعت متناسب با دستگاهی که در آن استفاده میشود، مقیاس میشود. height
و width
پیکسل های واقعی را نشان نمی دهند.
فرمت Watch Face جزئیات زیادی را در مورد صفحه ساعت شما سازماندهی می کند:
- فراداده ، مانند تعداد زمان و گام که در تصویر پیشنمایش صفحه ساعت شما نشان داده شده است.
- پیکربندی های کاربر ، مانند تم های رنگی مختلف برای صفحه ساعت، عناصر قابل تغییر توسط کاربر، و انتخاب از میان چندین عنصر. Watch Face Format نسخه 2 طعم هایی را معرفی می کند که می توانند در پیکربندی کاربر ظاهر شوند. هر طعم یک پیکربندی از پیش تعیین شده کاربر را مشخص می کند و نوع و سبک عناصری که با زمان در صفحه ساعت شما ظاهر می شوند را مشخص می کند. این تنظیمات از پیش تعیین شده، ایجاد گروه هایی از عناصر که از نظر بصری دلپذیر هستند را برای شما آسان تر می کند. در برنامه همراه Wear OS، کاربران طعمهای مختلف صفحه ساعت شما را در یک ردیف قابل پیمایش مشاهده میکنند.
- صحنه ای که حاوی عناصر بصری یک صفحه ساعت است. عناصری که نزدیکتر به انتهای صحنه ظاهر میشوند در بالای عناصر دیگر ظاهر میشوند، بنابراین ترتیب معمولی به شرح زیر است:
- عقربه ها برای ساعت آنالوگ یا متن برای ساعت دیجیتال
- عوارضی که اطلاعات اضافی را نشان می دهد، مانند روز هفته یا تعداد گام های کاربر
- گرافیک های دیگری که جذابیت بصری یا تزئینات را برای صفحه ساعت ایجاد می کنند، مانند تصویری از یک اردوگاه
- گروههایی از عناصر، که به شما امکان میدهند چندین عنصر را همزمان تغییر دهید. میتوانید انواعی از این گروهها را در یک صحنه ایجاد کنید، که به شما امکان میدهد زمانی که سیستم وارد حالت محیطی کم مصرف میشود، محتوا را مخفی یا تغییر دهید.
ویژگی ها به شدت تایپ می شوند و دارای دستورالعمل هایی در مورد فرکانس و مقادیر معتبر هستند تا از بسیاری از منابع خطا هنگام ایجاد صفحه ساعت جلوگیری شود.
اعلام پشتیبانی از شکلهای صورت ساعت (اختیاری)
این مرحله فقط در صورتی ضروری است که بخواهید از رفتارهای مختلف برای اندازه های مختلف صفحه ساعت پشتیبانی کنید. اگر از صفحه نمایش ساعت خود با اندازه ساعت راضی هستید، می توانید از این مرحله صرف نظر کنید.
در فهرست منابع res/xml
برنامهتان، مجموعهای از اشکال چهره ساعتی را که در watch_face_shapes.xml
پشتیبانی میکنید، اعلام کنید:
<WatchFaces> <WatchFace shape="CIRCLE" width="300" height="300" file="@raw/watchface"/> <WatchFace shape="CIRCLE" width="450" height="450" file="@raw/watchface_large_circle"/> <!-- Remove any references to rectangular watch faces --><WatchFace shape="RECTANGLE" width="380" height="400" file="@raw/watchface_rectangle"/></WatchFaces>
سپس، ظاهر و رفتار صفحه ساعت خود را برای هر شکل صفحه ساعت تعریف کنید. اگر فایل shapes را تعریف نکردهاید، فقط باید یک فایل به watchface.xml
ایجاد کنید.
با استفاده از مثال این بخش، فایل های XML خام به صورت زیر خواهند بود:
-
res/raw/watchface.xml
-
res/raw/watchface_large_circle.xml
-
res/raw/watchface_rectangle.xml
شناسایی ناشر صفحه ساعت (اختیاری)
در صورت تمایل، در فایل مانیفست برنامه خود، یک رشته دلخواه را اعلام کنید که می توانید از آن برای شناسایی ناشر صفحه ساعت یا نام ابزار و نسخه ای که استفاده می کنید استفاده کنید:
<application ...>
...
<property
android:name="com.google.wear.watchface.format.publisher"
android:value="<var>{toolName}-{toolVersion}</var>" />
</application>
صحت و عملکرد صفحه ساعت خود را بررسی کنید
در طول توسعه، و قبل از آپلود در Google Play، از ابزار اعتبارسنجی استفاده کنید تا بررسی کنید که صفحه ساعت شما خطا ندارد و با توصیههای استفاده از حافظه مطابقت دارد.
- درباره بهینه سازی مصرف حافظه و بررسی میزان مصرف حافظه در آماده سازی برای انتشار بیشتر بیاموزید.
- درباره استفاده از اعتبارسنجی XML به عنوان بخشی از چرخه توسعه خود بیشتر بیاموزید.
بسته برنامه ساعت خود را بسازید
برای ساختن Android App Bundle که حاوی صفحه ساعت شماست، از سیستم ساخت Gradle استفاده کنید. درباره نحوه ساخت برنامه با استفاده از Gradle بیشتر بیاموزید.
این در نمونه های GitHub نشان داده شده است.
{% کلمه به کلمه %}برای شما توصیه می شود
- توجه: وقتی جاوا اسکریپت خاموش است، متن پیوند نمایش داده می شود
- AAPT2
- اصول اولیه Jetpack Compose
- شروع کار با CameraX