האריחים הם לא אפליקציות, ולכן הם נפרסים ומופעלים באמצעות מנגנונים שונים.
כשאפשרויות למפתחים מופעלות במכשיר (התכונות האלה מופעלות באמולטורים כברירת מחדל), תכונות נוספות שתומכות בפיתוח של משבצות הופכות זמינות לשימוש גם ב-Android Studio וגם ב-adb
.
פריסת כרטיסי מידע
כדי לפרוס את הלחצן, אפשר להתקין את האפליקציה במכשיר פיזי או באמולטור באמצעות Android Studio, כמו שמתואר במאמר Build and run your app. לאחר מכן, פועלים לפי אותם השלבים כמו משתמשים רגילים כדי להוסיף את הלחצן לגלגל הלחצנים באופן ידני.
במהלך פיתוח פעיל, יכול להיות שיהיה לכם קל ומהיר יותר להשתמש בתכונה "הגדרת הרצה/ניפוי באגים של Wear OS Tile" ב-Android Studio. השיטה הזו מאפשרת לפרוס ולהפעיל את המשבצת באופן אוטומטי, כך שאפשר ליצור איתה אינטראקציה באופן מיידי בלי לבצע פעולות ידניות נוספות.
יצירת הגדרה באופן אוטומטי
הדרך הכי קלה לפרוס ולהפעיל משבצת היא באמצעות הסמל 'הפעלת שירות' בשוליים. אם הגדרת ההרצה לא קיימת, היא נוצרת באופן אוטומטי. מידע נוסף זמין במאמר בנושא הגדרות הרצה/ניפוי באגים ב-Wear OS.


יצירת הגדרה באופן ידני
אם ההגדרה האוטומטית לא עובדת, או אם אתם רוצים יותר שליטה על התוצאה, אפשר להיעזר בהוראות הבאות. צילומי המסך הם מ-Android Studio Meerkat (2024.3.1).
בוחרים באפשרות '⋮' ('המבורגר') מסרגל הכותרת.
בוחרים באפשרות 'עריכה…'.
בתיבת הדו-שיח שמופיעה, לוחצים על '+' כדי להוסיף הגדרה.
בוחרים באפשרות Wear OS Tile (משבצת Wear OS) בתור סוג ההגדרה החדשה.
מזינים שם להגדרה ובוחרים את המודול והאריח המתאימים.
מקישים על 'אישור'. ההגדרה שלכם תופיע בסרגל הכותרת. מקישים על הלחצן "▷" ("הפעלה"), והאריח ייפרס ויופעל.
תצוגה מקדימה של כרטיסי מידע ב-Android Studio
החל מ-Android Studio Koala Feature Drop, אפשר לראות תמונות מצב של כרטיסי המידע של אפליקציית Wear OS. החלונית הזו שימושית במיוחד אם המראה של המשבצת משתנה בתגובה לתנאים, למשל תוכן שונה בהתאם לגודל המסך של המכשיר, או אירוע ספורט שמגיע להפסקה בין המחציות.

הוספת יחסי תלות
צריך לכלול את יחסי התלות הבאים בקובץ build.gradle.kts
או build.gradle
של האפליקציה:
dependencies {
implementation("androidx.wear.tiles:tiles-tooling-preview:1.5.0")
debugImplementation("androidx.wear.tiles:tiles-tooling:1.5.0")
implementation("androidx.wear:wear-tooling-preview:1.0.0")
}
הגדרת תצוגות מקדימות של אריחים
כדי לראות תצוגה מקדימה של מראה הרכיב במסכים בגדלים שונים של Wear OS, מוסיפים את ההערה @Preview
ומעבירים את הפרמטר device
. הערה: האנוטציה @Preview
הזו היא מחבילה שונה מזו שבה משתמשים עבור תצוגות מקדימות של קומפוזיציות.
import androidx.wear.tiles.tooling.preview.Preview
@Preview(device = WearDevices.SMALL_ROUND)
@Preview(device = WearDevices.LARGE_ROUND)
fun tilePreview(context: Context) = TilePreviewData(
onTileRequest = { request ->
TilePreviewHelper.singleTimelineEntryTileBuilder(
buildMyTileLayout()
).build()
}
)
הוספה ורישום של משאבים
אם הרכיב שלכם משתמש במשאבי Android, תצטרכו לרשום אותם בפרמטר onTileResourceRequest
של TilePreviewData
, כמו שמוצג בקטע הקוד הבא:
import androidx.wear.tiles.tooling.preview.Preview @Preview(device = WearDevices.SMALL_ROUND) fun previewWithResources(context: Context) = TilePreviewData( onTileResourceRequest = { request -> Resources.Builder() .setVersion(myResourcesVersion) .addIdToImageMapping( myImageId, getImageById(R.drawable.myDrawableImageId)) .build() }, onTileRequest = { request -> TilePreviewHelper.singleTimelineEntryTileBuilder( buildMyTileLayout() ).build() } ) fun getImageById( @DrawableRes id: Int, ): ImageResource = ImageResource.Builder() .setAndroidResourceByResId( AndroidImageResourceByResId.Builder() .setResourceId(id) .build(), ) .build()
הצגת ערכים ספציפיים ממקורות נתונים של פלטפורמות
אם הרכיב הגרפי משתמש בנתוני פלטפורמה – כמו דופק, קלוריות, מרחק וצעדים – יוצגו בו ערכי ברירת מחדל.
כדי להציג ערך ספציפי, מגדירים את הפרמטר platformDataValues
כשיוצרים את האובייקט TilePreviewData
, כמו שמוצג בקטע הקוד הבא:
import androidx.wear.tiles.tooling.preview.Preview @Preview(device = WearDevices.SMALL_ROUND) fun previewWithPlatformOverride(context: Context) = TilePreviewData( platformDataValues = PlatformDataValues.of( PlatformHealthSources.Keys.HEART_RATE_BPM, DynamicDataBuilders.DynamicDataValue.fromFloat(160f) ), onTileRequest = { request -> TilePreviewHelper.singleTimelineEntryTileBuilder( buildMyTileLayout() ).build() } )
שינוי כרטיסי מידע באמצעות adb
אפשר להשתמש ב-adb
כדי להתקין, להסיר ולהפעיל אריחים באופן פרוגרמטי במהלך הפיתוח.
בפקודות הבאות, ComponentName
היא מחרוזת שמורכבת משם החבילה וממחלקה בתוך החבילה הזו, לדוגמה com.example.wear.tiles/com.example.wear.tiles.PreviewTileService
.
add-tile
מוסיפה משבצת שסופקה על ידי COMPONENT_NAME
ומחזירה את האינדקס.
adb shell am broadcast -a com.google.android.wearable.app.DEBUG_SURFACE --es operation add-tile --ecn component [COMPONENT_NAME]
פלט לדוגמה:
Broadcast completed: result=1, data="Index=[0]"
אם משבצת כבר קיימת בקרוסלה, היא מוסרת ומוחזרת לאותו מיקום. אחרת, היא מוכנסת במיקום Index[0]
. בנוסף, אם הקרוסלה מלאה, המשבצת האחרונה מוסרת כדי לפנות מקום למשבצת החדשה.
show-tile
הפעלת המשבצת באינדקס TILE_INDEX
.
adb shell am broadcast -a com.google.android.wearable.app.DEBUG_SYSUI --es operation show-tile --ei index [TILE_INDEX]
פלט לדוגמה:
Broadcast completed: result=1
remove-tile
מסיר את כל המופעים של כרטיסי המידע בקרוסלה שמשויכים ל-COMPONENT_NAME
.
adb shell am broadcast -a com.google.android.wearable.app.DEBUG_SURFACE --es operation remove-tile --ecn component [COMPONENT_NAME]
פלט לדוגמה:
result=1, data="Tile(s) removed."
ערכים מוחזרים
- result=0: אף מקלט שידור לא הגיב לפקודה הזו, כנראה בגלל שגרסת Wear OS ישנה מדי או שתהליך הניפוי לא פועל.
- result=1: הצלחה.
- result>1: שגיאה.