این راهنما شامل مراحل مربوط به ابزارهایی است که برای پیکربندی صفحه ساعت با استفاده از فرمت 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 پشتیبانی میکند. درباره نحوه پیکربندی نسخههای برنامه خود بیشتر بدانید.
<?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
اینکه آیا صفحه ساعت قابل ویرایش است یا خیر، به این معنی که صفحه ساعت دارای تنظیمات یا حداقل یک عارضه غیر ثابت است. این برای نمایش یا پنهان کردن دکمه ویرایش برای صفحه ساعت در لیست علاقه مندی ها استفاده می شود.
مقدار پیش فرض: false
نام چهره ساعت را اعلام کنید
در فایل مانیفست برنامه خود ( AndroidManifest.xml
)، ویژگی android:label
روی نام صفحه ساعت خود تنظیم کنید:
<application android:label="@string/watch_face_name" >
اعلام پشتیبانی از شکلهای صورت ساعت (اختیاری)
این مرحله فقط در صورتی ضروری است که بخواهید از رفتارهای مختلف برای اندازه های مختلف صفحه ساعت پشتیبانی کنید. اگر از صفحه نمایش ساعت خود با اندازه ساعت راضی هستید، می توانید از این مرحله صرف نظر کنید.
در فهرست منابع res/xml
برنامهتان، مجموعهای از اشکال چهره ساعتی را که در 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
مورد استفاده در هنگام اعلام پشتیبانی از اشکال چهره ساعت ایجاد کنید.
این جایی است که شما ظاهر و رفتار صفحه ساعت خود را برای هر شکل صفحه ساعت تعریف می کنید. اگر فایل shapes را تعریف نکردهاید، فقط باید یک فایل به watchface.xml
ایجاد کنید.
با استفاده از مثال این صفحه، فایل های XML خام به صورت زیر خواهند بود:
-
res/raw/watchface.xml
-
res/raw/watchface_large_circle.xml
-
res/raw/watchface_rectangle.xml
عنصر اصلی همیشه WatchFace
است:
<WatchFace width="450" height="450" shape="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 App Bundle که حاوی صفحه ساعت شماست، از سیستم ساخت Gradle استفاده کنید. درباره نحوه ساخت برنامه با استفاده از Gradle بیشتر بیاموزید.
این در نمونه های GitHub نشان داده شده است.
{% کلمه به کلمه %}برای شما توصیه می شود
- توجه: وقتی جاوا اسکریپت خاموش است، متن پیوند نمایش داده می شود
- AAPT2
- اصول اولیه Jetpack Compose
- شروع کار با CameraX