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

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

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

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

אם אתם לא יודעים איך משתמשים בכלי של Jetpack Compose, כדאי לעיין במסלול ל-Compose. הרבה מהעקרונות לפיתוח של Compose לנייד חלים גם על טלוויזיה. מידע נוסף על היתרונות הכלליים של מסגרת UI מצהירה זמין במאמר למה כדאי להשתמש ב-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 עם 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 ל-TV, צריך לכלול את יחסי התלות של ערכת הכלים של Jetpack Compose בקובץ build.gradle של האפליקציה באופן הבא:

Kotlin

dependencies {
   val composeBom = platform("androidx.compose:compose-bom:2024.12.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.12.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 Material עם Compose Material מ-Compose for TV עלול לגרום להתנהגות לא צפויה. לדוגמה, מכיוון שלכל ספרייה יש אובייקט MaterialTheme משלה, יכול להיות שצבעים, טיפוגרפיה או צורות לא יהיו עקביים אם משתמשים בשתי הגרסאות.

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

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

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

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

  • דוגמה לקטלוג ב-Material Design לטלוויזיה
    אפליקציית קטלוג שממחישה איך להטמיע את העקרונות של Material Design באמצעות Compose לטלוויזיה.

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

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

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

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