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

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

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

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

עיצוב חדשני תלת-ממדי ב-Jetpack פיתוח נייטיב ב-Wear OS

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

תאימות

התכונה 'כתיבה' ל-Wear OS פועלת בשעונים שתומכים ב-Wear OS 3.0 (רמת API 30) ובשעונים שתומכים ב-Wear OS 2.0 (רמת API 25 ואילך). כדי להשתמש ב-גרסה 1.4 של Compose ל-Wear OS, צריך להשתמש בספריות androidx.compose בגרסה 1.7 וב-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 שמאפשרות ליצור בקלות ממשקי משתמש שמותאמים לשעונים. במקרים מסוימים, לרכיבים האלה יש שם זהה לזה של רכיבים מקבילים שלא מיועדים ללבישה, כמו androidx.wear.compose.material.Button ו-androidx.compose.material.Button.

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

כדי ליצור פרויקט חדש שכולל את Jetpack Compose:

  1. אם אתם נמצאים בחלון Welcome to Android Studio, לוחצים על Start a new Android Studio project. אם כבר יש לכם פרויקט פתוח ב-Android Studio, תוכלו לבחור באפשרות קובץ > חדש > ייבוא דוגמה בסרגל התפריטים.
  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 פיתוח נייטיב עם Wear OS, צריך לכלול בקובץ build.gradle של האפליקציה יחסי תלות של הכלי Jetpack Compose. רוב השינויים בתלות שקשורים ל-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,‏ foundation ו-navigation, לכן חשוב לוודא שאתם משתמשים בספריות המתאימות.

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

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

תלות ב-Wear OS

(androidx.wear.*)

השוואה Mobile Dependency

(androidx.*)

androidx.wear.compose:compose-material במקום androidx.compose.material:material
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:2024.10.01")

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

    // Compose for Wear OS Dependencies
    implementation("androidx.wear.compose:compose-material:1.4.0")

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

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

    // 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.4.0")

    // 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.0.3")
}

משוב

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

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