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

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

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

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

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

תאימות

התכונה 'כתיבה לטלוויזיה' פועלת בטלוויזיות עם 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 פיתוח נייטיב

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

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

תלות בטלוויזיה
(androidx.tv.*)
השוואה Mobile Dependency
(androidx.compose.*)
androidx.tv:tv-material במקום androidx.compose.material3:material3

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

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

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

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

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

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

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