שימוש ב-Jetpack פיתוח נייטיב ב-Wear OS


התכונה 'כתיבה ב-Wear OS' דומה לתכונה 'כתיבה בנייד'. עם זאת, יש כמה הבדלים חשובים. במדריך הזה מוסבר על נקודות הדמיון וההבדלים בין שתי הגרסאות.

‫Compose for Wear OS הוא חלק מ-Android Jetpack, וכמו ספריות Wear Jetpack אחרות שבהן אתם משתמשים, הוא עוזר לכם לכתוב קוד טוב יותר מהר יותר. זו הגישה המומלצת שלנו לבניית ממשקי משתמש עבור אפליקציות ל-Wear OS.

אם אתם לא מכירים את ערכת הכלים Jetpack Compose, כדאי לעיין בתוכנית הלימודים בנושא Compose. הרבה מעקרונות הפיתוח של Compose לנייד חלים גם על Compose ל-Wear OS. מידע נוסף על היתרונות הכלליים של מסגרת UI הצהרתית זמין במאמר למה כדאי להשתמש ב-Compose. מידע נוסף על Compose ל-Wear OS זמין בתוכנית הלימודים בנושא Compose ל-Wear OS ובמאגר הדוגמאות ל-Wear OS ב-GitHub.

‫Material Design ב-Jetpack פיתוח נייטיב ב-Wear OS

‫Jetpack Compose ב-Wear OS מציע הטמעה של ‫Material 3, שעוזרת לכם לעצב אפליקציות מושכות יותר ומספקת חוויית משתמש טובה יותר. רכיבי Material Design ב-Wear OS מבוססים על Wear Material Theming. העיצוב הזה הוא דרך שיטתית להתאים אישית את Material Design ולשקף טוב יותר את המותג של המוצר.

תאימות

‫Compose ל-Wear OS פועל בשעונים שתומכים ב-Wear OS 3.0 (רמת API‏ 30) ובשעונים עם Wear OS 2.0 (רמת API‏ 25 ומעלה). כדי להשתמש בגרסה 1.5 של Compose ל-Wear OS, צריך להשתמש בגרסה 1.8 של ספריות androidx.compose וב-Kotlin 1.9.0. אתם יכולים להשתמש במיפוי של BOM ובמיפוי של תאימות Compose ל-Kotlin כדי לבדוק את התאימות של Compose.

שכבות

‫Compose for Wear OS מקל על פיתוח אפליקציות ל-Wear OS. מידע נוסף זמין במאמר בנושא אפליקציות. אפשר להשתמש ברכיבים המובנים שלנו כדי ליצור חוויות משתמש שתואמות להנחיות של Wear OS. מידע נוסף על רכיבים זמין בהנחיות העיצוב שלנו.

בתהליך הגדרה

השימוש ב-Jetpack פיתוח נייטיב עם Wear OS דומה לשימוש ב-Jetpack פיתוח נייטיב בכל פרויקט אחר של Android. ההבדל העיקרי הוא ש-Jetpack Compose for Wear מוסיף ספריות ספציפיות ל-Wear שמקלות על יצירת ממשקי משתמש שמותאמים לשעונים. במקרים מסוימים, לרכיבים האלה יש את אותו שם כמו לרכיבים המקבילים שלא מיועדים למכשירי Wear, כמו androidx.wear.compose.material3.Button וגם androidx.compose.material3.Button.

יצירת אפליקציה חדשה ב-Android Studio

כדי ליצור פרויקט חדש שכולל את Jetpack Compose, פועלים לפי השלבים הבאים:

  1. אם אתם נמצאים בחלון Welcome to Android Studio (ברוכים הבאים ל-Android Studio), לוחצים על Start a new Android Studio project (התחלת פרויקט חדש ב-Android Studio). אם כבר פתוח פרויקט ב-Android Studio, בוחרים באפשרות File > New > Import Sample (קובץ > חדש > ייבוא דוגמה) מסרגל התפריטים.
  2. מחפשים את Compose for Wear ובוחרים באפשרות Compose for Wear OS Starter.
  3. בחלון Configure your project (הגדרת הפרויקט), מבצעים את הפעולות הבאות:
    1. מגדירים את שם האפליקציה.
    2. בוחרים את מיקום הפרויקט לדוגמה.
  4. לוחצים על סיום.
  5. מוודאים שקובץ ה-build.gradle של הפרויקט מוגדר בצורה נכונה, כפי שמתואר במאמר קובצי מאפיינים של Gradle.

עכשיו אפשר להתחיל לפתח אפליקציה באמצעות Compose ל-Wear OS.

יחסי תלות בערכת הכלים של Jetpack פיתוח נייטיב

כדי להשתמש ב-Jetpack Compose עם Wear OS, צריך לכלול את יחסי התלות של ערכת הכלים Jetpack Compose בקובץ build.gradle של האפליקציה. רוב השינויים בהסתמכות על רכיבים אחרים שקשורים ל-Wear OS נמצאים בשכבות הארכיטקטוניות העליונות, שמסומנות בתיבה אדומה בתמונה הבאה.

<img 'foundation',="" 'material',="" 'runtime'.="" 'ui',="" 2="" 4="" a="" alt="" and="" are="" bottom,="" box""="" by="" contain="" from="" rectangles="" rectangles.="" red="" src="/static/wear/images/components/ComposeDependencies.png" surrounded="" the="" to="" top="" />

המשמעות היא שרבים מהתלויות שבהן אתם כבר משתמשים ב-Jetpack Compose לא משתנות כשמטרגטים את Wear OS. לדוגמה, התלות בממשק המשתמש, בזמן הריצה, בקומפיילר ובאנימציה נשארת זהה.

עם זאת, ל-Wear OS יש גרסאות משלו של ספריות material ו-material3, foundation ו-navigation, לכן חשוב לוודא שאתם משתמשים בספריות המתאימות.

מומלץ להשתמש בגרסה WearComposeMaterial של ממשקי ה-API כשאפשר. אמנם אפשר מבחינה טכנית להשתמש בגרסה לנייד של Compose Material, אבל היא לא מותאמת לדרישות הייחודיות של Wear OS. בנוסף, שילוב של Compose Material עם Compose Material ל-Wear OS עלול להוביל להתנהגות לא צפויה. לדוגמה, מכיוון שלכל ספרייה יש מחלקה משלה MaterialTheme, יכול להיות שיהיו אי-התאמות בצבעים, בטיפוגרפיה או בצורות אם משתמשים בשתי הגרסאות.

בטבלה הבאה מפורטים ההבדלים בתלות בין Wear OS לבין נייד:

תלות ב-Wear OS

(androidx.wear.*)

השוואה תלות בנייד

‫(androidx.*)

androidx.wear.compose:compose-material3 במקום androidx.compose.material:material3
androidx.wear.compose:compose-navigation במקום androidx.navigation:navigation-compose
androidx.wear.compose:compose-foundation בנוסף ל androidx.compose.foundation:foundation

בקטע הקוד הבא מוצג קובץ build.gradle לדוגמה שכולל את התלויות האלה:

Kotlin

dependencies {

    val composeBom = platform("androidx.compose:compose-bom:2025.05.00")

    // General compose dependencies
    implementation(composeBom)
    implementation("androidx.activity:activity-compose:1.10.1")
    implementation("androidx.compose.ui:ui-tooling-preview:1.8.3")
    // Other compose dependencies

    // Compose for Wear OS dependencies
    implementation("androidx.wear.compose:compose-material3:1.5.0-beta05")

    // Foundation is additive, so you can use the mobile version in your Wear OS app.
    implementation("androidx.wear.compose:compose-foundation:1.5.0-beta05")

    // Wear OS preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.5.0-beta05")

    // If you are using Compose Navigation, use the Wear OS version (NOT THE MOBILE VERSION).
    // Uncomment the line below and update the version number.
    // implementation("androidx.wear.compose:compose-navigation:1.5.0-beta05")

    // Testing
    testImplementation("junit:junit:4.13.2")
    androidTestImplementation("androidx.test.ext:junit:1.1.3")
    androidTestImplementation("androidx.test.espresso:espresso-core:3.4.0")
    androidTestImplementation("androidx.compose.ui:ui-test-junit4:1.0.3")
    debugImplementation("androidx.compose.ui:ui-tooling:1.4.1")
    
}

משוב

אתם יכולים לנסות את התכונה 'יצירת תוכן' ב-Wear OS ולהשתמש בכלי למעקב אחר בעיות כדי לשלוח הצעות ומשוב.

כדאי להצטרף לערוץ ‎#compose-wear ב-Kotlin Slack כדי להתחבר לקהילת המפתחים ולשתף איתנו את החוויה שלכם.