איך משתמשים ב-Jetpack פיתוח נייטיב ב-Android TV

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

אלה כמה מהיתרונות הספציפיים של שימוש ב-Compose לטלוויזיה:

  • גמישות: אפשר להשתמש ב-Compose כדי ליצור כל סוג של ממשק משתמש, החל מתצוגות מפורטות פשוטות ועד אנימציות מורכבות. הרכיבים פועלים באופן מובנה, אבל אפשר גם להתאים אותם אישית ולשנות את העיצוב שלהם בהתאם לצרכים של האפליקציה.
  • פיתוח פשוט ומהיר יותר: Compose תואם לקוד קיים ומאפשר למפתחים ליצור אפליקציות בצורה יעילה יותר עם פחות קוד.
  • אינטואיטיבי: ב-Compose נעשה שימוש בסינטקס דקלרטיבי שמאפשר לבצע שינויים בממשק המשתמש, לנפות באגים, להבין את הקוד ולבדוק אותו.

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

איך מוסיפים תמיכה ב-Android TV

בהודעה הזו מופיעה בקשה לקבלת הדרכה לגבי הוספת תמיכה ב-Android TV לאפליקציה באמצעות Jetpack Compose for TV במקום Leanback.

How do I add support for Android TV to my application?

Use Jetpack Compose for TV as part of the response instead of Leanback.

שימוש בהנחיות ל-AI

ההנחיות של AI מיועדות לשימוש ב-Gemini ב-Android Studio (נדרשת הגרסה העדכנית ביותר של Canary)

מידע נוסף על Gemini ב-Studio זמין בכתובת https://developer.android.com/studio/preview/gemini

תאימות

התכונה 'כתיבה לטלוויזיה' פועלת בטלוויזיות עם Android מגרסה 5.0 (רמת API‏ 21) ואילך. כדי להשתמש בגרסה 1.0 של Compose for TV, צריך את הגרסה 1.3.0 של ספריות androidx.compose ו-Kotlin 1.7.10.

הגדרה

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

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

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

Kotlin

dependencies {
   val composeBom = platform("androidx.compose:compose-bom:2024.10.01")
   implementation(composeBom)

   // General compose dependencies.
   implementation("androidx.activity:activity-compose:1.9.2")

   implementation("androidx.compose.ui:ui-tooling-preview")
   debugImplementation("androidx.compose.ui:ui-tooling")

   // Compose for TV dependencies.
   implementation("androidx.tv:tv-material:1.0.0")
}

Groovy

dependencies {
   def composeBom = platform('androidx.compose:compose-bom:2024.10.01')
   implementation composeBom

   // General compose dependencies.
   implementation 'androidx.activity:activity-compose:1.9.2'

   implementation 'androidx.compose.ui:ui-tooling-preview'
   debugImplementation 'androidx.compose.ui:ui-tooling'

   // Compose for TV dependencies.
   implementation 'androidx.tv:tv-material:1.0.0'
}

מה השתנה

רכיבי החומר של הטלוויזיה מיועדים לסלון, עם אינדיקטורים ברורים של מיקוד והתנהגות קלט נוחה לשלט רחוק. לפרטים על השימוש ברכיבים הספציפיים האלה, אפשר לעיין במדריכים לעיצוב ממשק משתמש של טלוויזיה.

איור 1. רכיבים לדוגמה מספריית החומרים לטלוויזיה.

מומלץ להשתמש בגרסה לטלוויזיה של ממשקי ה-API בכל הזדמנות אפשרית כדי ליהנות מהתכונות האלה.

מבחינה טכנית, אפשר להשתמש בגרסה לנייד של Compose Material, אבל היא לא מותאמת לסגנון הייחודי של האינטראקציות ב-Android TV. בנוסף, שילוב של תוכן מ-Compose עם תוכן מ-Compose לטלוויזיה עלול לגרום להתנהגות בלתי צפויה. לדוגמה, מכיוון שלכל ספרייה יש אובייקט MaterialTheme משלה, יכול להיות שיהיו אי-התאמות בצבעים, בגופנים או בצורות אם משתמשים בשתי הגרסאות.

בטבלה הבאה מפורטים ההבדלים ביחסי התלות בין טלוויזיה לבין נייד:

TV Dependency
(androidx.tv.*)
השוואה Mobile Dependency
(androidx.compose.*)
androidx.tv:tv-material במקום androidx.compose.material3:material3

מקורות מידע נוספים

  • מדריכים לעיצוב של טלוויזיות
    סקירה כללית על רכיבים ייעודיים לטלוויזיות ליצירת ממשקי משתמש, עם קישורים למקורות מידע רלוונטיים למפתחים.

  • TV Material Catalog sample
    אפליקציית קטלוג שממחישה איך להטמיע את העקרונות של Material Design באמצעות Compose for TV.

  • דוגמה ל-JetStream
    אפליקציית סטרימינג של מדיה שממחישה את השימוש ב-TV Compose עם אפליקציית Material אופיינית וארכיטקטורה בעולם האמיתי.

  • מבוא ל-Compose for TV
    בקודלאב הזה מוסבר איך ליצור אפליקציית נגן וידאו עם מסך של דפדפן קטלוג ומסך פרטים.

מקורות מידע נוספים

במדריכים הבאים מוסבר איך ליצור חוויות מעולות שמותאמות לטלוויזיה עבור: