במדריך הזה מפורטים שלבים לגבי הכלים שנדרשים כדי להגדיר תצוגת שעון. באמצעות Watch Face Format, הצעות למבנה הפרויקט מדריך מפורט לשימוש בכלים ליצירת המבנה הזה.
דרישות מוקדמות
כדי להכין את סביבת הפיתוח לשימוש ב-Watch Face Format: להשלים את שלבי ההגדרה הבאים:
מתקינים את ה-SDK ל-Android 14 (רמת API 34) ואילך. אם תצוגת השעון לא מסתמכת על תכונות או התנהגות שספציפיות לגרסה 2, ניתן במקום זאת, צריך להתקין את ה-SDK ל-Android 13 (רמת API 33).
ה-SDK מכיל כלים נדרשים אחרים, כולל
aapt2
ו-android.jar
.לחלופין, אפשר להתקין את Android Studio, שיכול לספק גם את הפרטים הבאים הכלים שלנו.
מבנה הפרויקט
כשיוצרים תצוגת שעון בהתאמה אישית עם Watch Face Format, קובץ App Bundle שכולל את הקובץ של תצוגת השעון צריך להיות נפרד לחלוטין מקובץ Android App Bundle שמכיל את הלוגיקה של האפליקציה ל-Wear OS. אפליקציה חנויות, כולל Google Play, מונעות העלאה של קובץ Android App Bundle שכולל לוגיקה של Wear OS וגם תצוגת שעון בהתאמה אישית.
יצירת חבילה של תצוגת שעון
כדי ליצור קובץ Android App Bundle שכולל קובץ של תצוגת שעון, צריך להשלים את בשלבים הבאים.
הצהרה על שימוש ב-Watch Face Format
בקובץ המניפסט של האפליקציה החדשה (AndroidManifest.xml
), יש להוסיף אפליקציה
המאפיין שמציין את השימוש שלך ב-Watch Face Format. אלא אם רוצים
הגבלת הגישה לתצוגת השעון במכשירים עם 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
אם תצוגת השעון ניתנת לעריכה, כלומר בתצוגת השעון יש או לפחות רכיב אחד לא קבוע. משמש להצגה או להסתיר את הלחצן Edit (עריכה) של תצוגת השעון ברשימת המועדפים.
ערך ברירת המחדל: 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
משמשים להצהרה על תמיכה בתצוגת השעון
צורות.
כאן מגדירים את המראה וההתנהגות של תצוגת השעון
בכל צורה של תצוגת שעון. אם לא הגדרתם קובץ צורות, כל מה שתצטרכו לעשות הוא
כדי ליצור קובץ אחד, watchface.xml
.
בהמשך לדוגמה שבדף הזה, קובצי ה-XML הגולמיים יהיו:
res/raw/watchface.xml
res/raw/watchface_large_circle.xml
res/raw/watchface_rectangle.xml
הרכיב הבסיסי (root) הוא תמיד 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 כחלק מתהליך הפיתוח במחזוריות.
יצירת App Bundle של תצוגת השעון
כדי ליצור את קובץ Android App Bundle שמכיל את תצוגת השעון, צריך להשתמש ב מערכת build של Gradle. למידע נוסף על בניית אפליקציה באמצעות Gradle.
אפשר לראות זאת בדוגמאות של GitHub.
מומלץ עבורך
- הערה: טקסט הקישור מוצג כאשר JavaScript מושבת
- AAPT2
- מידע בסיסי על Jetpack פיתוח נייטיב
- תחילת העבודה עם CameraX