استخدام Jetpack Compose على Android TV

Compose for TV هو النهج الحديث لإنشاء واجهة مستخدم Android TV. توفّر أداة Compose لأجهزة التلفزيون جميع مزايا Jetpack Compose من Android لتطبيقاتك المخصّصة لأجهزة التلفزيون، ما يسهّل بشكلٍ كبير إنشاء واجهات مستخدم جميلة وعملية لتطبيقك.

في ما يلي بعض المزايا المحدّدة لاستخدام تطبيق "الكتابة على الشاشة" لأجهزة التلفزيون:

  • المرونة: يمكن استخدام أداة "الإنشاء" لإنشاء أي نوع من واجهة المستخدم، بدءًا من التنسيقات البسيطة إلى الرسوم المتحرّكة المعقّدة. تعمل المكوّنات بشكلٍ تلقائي، ولكن يمكن أيضًا تخصيصها وتصميمها لتلبية احتياجات تطبيقك.
  • تطوير مبسّط ومُسرَّع: تتوافق أداة Compose مع الرموز البرمجية الحالية وتتيح للمطوّرين إنشاء التطبيقات بكفاءة أكبر باستخدام رموز برمجية أقل.
  • بسيط الاستخدام: يستخدم Compose بنية نحوية توضيحية تتيح لك إجراء تغييرات على واجهة المستخدم وتصحيح أخطاء الرمز البرمجي وفهم محتواه ومراجعته.

إذا لم تكن معتادًا على استخدام مجموعة أدوات Jetpack Compose، اطّلِع على مسار Compose. تنطبق العديد من مبادئ تطوير ميزة "الكتابة الصوتية" على الأجهزة الجوّالة على التلفزيون أيضًا. اطّلِع على أسباب استخدام Compose للحصول على مزيد من الاطّلاع على المزايا العامة لإطار عمل واجهة المستخدم التعريفي. للاطّلاع على معلومات إضافية، يمكنك أيضًا الاطّلاع على مستودع نماذج Compose 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.

استخدام طلبات الذكاء الاصطناعي

يُقصد استخدام طلبات الذكاء الاصطناعي في Gemini ضمن Android Studio (يجب استخدام أحدث إصدار من Canary ).

يمكنك الاطّلاع على مزيد من المعلومات حول Gemini في "استوديو Android" على الرابط التالي: https://developer.android.com/studio/preview/gemini.

التوافق

تعمل ميزة "الإنشاء للتلفزيون" على أجهزة Android TV التي تعمل بالإصدار 5.0 من نظام التشغيل Android (المستوى 21 من واجهة برمجة التطبيقات) أو إصدار أحدث. يتطلب استخدام الإصدار 1.0 من Compose لأجهزة التلفزيون الإصدار 1.3.0 من مكتبات androidx.compose وKotlin 1.7.10.

ضبط إعدادات الجهاز

يشبه استخدام Jetpack Compose على Android TV استخدام Jetpack Compose في أي مشروع آخر على Android. يكمن الاختلاف الرئيسي في أنّ تطبيق "الإنشاء للتلفزيون" يضيف مكتبات تتضمّن مكوّنات محسّنة للتلفزيون وتسهّل إنشاء واجهات مستخدم مخصّصة للتلفزيون. في بعض الحالات، تتشارك هذه المكوّنات اسمًا مماثلاً لتلك المكوّنات غير المخصّصة للتلفزيون، مثل androidx.tv.material3.Button و androidx.compose.material3.Button.

تبعيات حزمة أدوات Jetpack Compose

لاستخدام 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")
}

رائع

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. نماذج للمكوّنات من مكتبة مواد العرض المخصّصة للتلفزيون

استخدِم إصدار التلفزيون من واجهات برمجة التطبيقات متى أمكن للاستفادة من هذه الميزات.

على الرغم من أنّه من الممكن من الناحية الفنية استخدام الإصدار المتوافق مع الأجهزة الجوّالة من Compose Material، فإنه لم يتم تحسينه لتناسب أسلوب التفاعلات الفريد على Android TV. بالإضافة إلى ذلك، يمكن أن يؤدي استخدام محتوى من تطبيق "إنشاء" مع محتوى من تطبيق "إنشاء للتلفزيون" إلى حدوث سلوك غير متوقّع. على سبيل المثال، بما أنّ كل مكتبة تحتوي على عنصر MaterialTheme خاص بها، من المحتمل أن تكون الألوان أو الطباعة أو الأشكال غير متّسقة في حال استخدام كلا الإصدارَين.

يوضّح الجدول التالي الاختلافات في التبعية بين الأجهزة التلفزيونية و الأجهزة الجوّالة:

التبعية لنظام التشغيل التلفزيوني
(androidx.tv.*)
المقارنة التبعية للأجهزة الجوّالة
(androidx.compose.*)
androidx.tv:tv-material بدلاً من androidx.compose.material3:material3

مصادر إضافية

مراجع إضافية

اطّلِع على هذه الأدلة للتعرّف على كيفية إنشاء تجارب رائعة محسّنة للتلفزيون في ما يتعلّق بما يلي: