תצוגת שעון היא שירות ארוזה באפליקציה של Wear OS. כשמשתמש בוחר תצוגת שעון זמינה, תצוגת השעון מוצגת שיטות קריאה חוזרת (callback) של שירות מופעלות.
כשמשתמש מתקין אפליקציית Wear שכוללת תצוגות שעון, השעון התצוגות זמינות בשעון באמצעות הבורר של תצוגת השעון. לחלופין, המשתמש יכול לבחור תצוגת שעון מאפליקציה נלווית בטלפון המותאם.
בדף הזה מוסבר איך להגדיר פרויקט Wear OS כך שיכלול תצוגות שעון, ואיך כדי להטמיע שירות לתצוגת שעון.
יצירת פרויקט של תצוגת שעון
הערה: מומלץ להשתמש ב-Android Studio לצורכי פיתוח ל-Wear OS, בתור הוא מספק הגדרת פרויקט, הכללה בספרייה ונוחות אריזה.
כך עושים את זה: ליצור פרויקט ב-Android Studio לתצוגת השעון:
- לוחצים על קובץ > חדש > פרויקט חדש.
- בחלון Select a project template (בחירת תבנית פרויקט), בוחרים בכרטיסייה Wear ובוחרים תצוגת השעון ברשימת האפשרויות ולוחצים על הבא.
- בחלון Configure your project, מאשרים ערכי ברירת המחדל ולוחצים על סיום.
מערכת Android Studio יוצרת פרויקט עם מודול app
לשירות תצוגת השעון.
יחסי תלות
מערכת Android Studio מוסיפה באופן אוטומטי את יחסי התלות הנדרשים בbuild.gradle
. יחסי התלות כוללים
AndroidX
ספריית תצוגות השעון; לראות את
לקבלת פרטים על הספרייה הזו ב-GitHub.
חומר עזר של ספריית תמיכה לגאדג'טים לבישים
מאמרי העזרה כוללים מידע מפורט על הכיתות שבהן אתם משתמשים להטמיע תצוגות שעון. עיון ב הפניית API מסמכי תיעוד לספריית התמיכה במכשירים לבישים.
הצהרת ההרשאות
לתצוגת שעון נדרשת ההרשאה WAKE_LOCK
.
יש להוסיף את ההרשאה הבאה לקובצי המניפסט של אפליקציית Wear OS
ואפליקציית הטלפון הנייד במסגרת הרכיב manifest
:
<manifest ...> <uses-permission android:name="android.permission.WAKE_LOCK" /> <!-- Required for complications to receive complication data and open the provider chooser. --> <uses-permission android:name="com.google.android.wearable.permission.RECEIVE_COMPLICATION_DATA"/> ... </manifest>
תמיכה בהפעלה ישירה
עליך להפוך את תצוגת השעון לזמינה לפני ביטול הנעילה באמצעות הפעולות הבאות: הנחיות להפעלה ישירה:
- הגדרת המאפיין של
android:directBootAware
כ-true
עבור השירות ב: את המניפסט. - תצוגת השעון צריכה לאחסן מידע ב אחסון מוצפן במכשיר.
הטמעת השירות ושיטות הקריאה החוזרת (callback)
תצוגות השעון ב-Wear OS מוטמעות בתור
WatchFaceService
כדי להטמיע WatchFaceService
, צריך ליצור שלושה אובייקטים:
UserStyleSchema
, ComplicationSlotsManager
וגם
WatchFace
שלושת האובייקטים האלו מוגדרים על ידי התעלמות משלוש שיטות מופשטות
WatchFaceService
, מוצג בדוגמה הבאה:
Kotlin
class CustomWatchFaceService : WatchFaceService() { /** * The specification of settings the watch face supports. * This is similar to a database schema. */ override fun createUserStyleSchema(): UserStyleSchema = // ... /** * The complication slot configuration for the watchface. */ override fun createComplicationSlotsManager( currentUserStyleRepository: CurrentUserStyleRepository ): ComplicationSlotsManager = // ... /** * The watch face itself, which includes the renderer for drawing. */ override suspend fun createWatchFace( surfaceHolder: SurfaceHolder, watchState: WatchState, complicationSlotsManager: ComplicationSlotsManager, currentUserStyleRepository: CurrentUserStyleRepository ): WatchFace = // ... }
רישום השירות של תצוגת השעון
אחרי שמטמיעים את השירות של תצוגת השעון, צריך לרשום את ההטמעה במניפסט של האפליקציה הלבישה. כשמשתמשים מתקינים את האפליקציה הזו, המערכת משתמשת במידע על השירות להפוך את תצוגת השעון לזמינה ב אפליקציה נלווית של Wear OS ובבורר של תצוגת השעון במכשיר הלביש.
הדוגמה הבאה מראה איך לרשום הטמעה של תצוגת שעון
מתחת ל-
רכיב <application>
:
<service android:name=".AnalogWatchFaceService" android:label="@string/analog_name" android:permission="android.permission.BIND_WALLPAPER" > <meta-data android:name="android.service.wallpaper" android:resource="@xml/watch_face" /> <meta-data android:name="com.google.android.wearable.watchface.preview_circular" android:resource="@drawable/preview_analog_circular" /> <intent-filter> <action android:name="android.service.wallpaper.WallpaperService" /> <category android:name= "com.google.android.wearable.watchface.category.WATCH_FACE" /> </intent-filter> </service>
התצוגה המקדימה זמינה באפליקציה הנלווית של Wear OS by Google ובכלי לבחירת תצוגת השעון במכשיר הלביש
תמונה שהוגדרה על ידי רשומת המטא-נתונים com.google.android.wearable.watchface.preview_circular
כאשר
הצגת כל תצוגות השעון המותקנות במכשיר. כדי לקבל את הפריט הזה שניתן להזזה,
להריץ את תצוגת השעון במכשיר Wear OS או במופע אמולטור
לצלם את המסך. ב-Wear
במכשירים עם מסכי HD, תמונת התצוגה המקדימה היא בדרך כלל בגודל 320x320 פיקסלים.
רשומת המטא-נתונים android.service.wallpaper
מציינת את הערך
קובץ משאב מסוג watch_face.xml
, שמכיל wallpaper
כפי שמוצג בדוגמה הבאה:
<?xml version="1.0" encoding="UTF-8"?> <wallpaper xmlns:android="http://schemas.android.com/apk/res/android" />
האפליקציה הלבישת יכולה להכיל יותר מתצוגת שעון אחת. עליך להוסיף ערך לשירות קובץ מניפסט של האפליקציה הלבישת לכל אחת מההטמעות של תצוגת השעון שלך.
מקורות מידע שקשורים לנושא
כדאי לעיין במקורות המידע שקשורים לנושא: