Android TV पर Jetpack Compose का इस्तेमाल करना

Compose for TV, Android TV के यूज़र इंटरफ़ेस बनाने का आधुनिक तरीका है. Compose for TV, आपके टीवी ऐप्लिकेशन के लिए Android के Jetpack Compose के सभी फ़ायदे देता है. इससे, आपके ऐप्लिकेशन के लिए सुंदर और काम के यूज़र इंटरफ़ेस (यूआई) बनाना बहुत आसान हो जाता है.

Compose for TV का इस्तेमाल करने के कुछ फ़ायदे ये हैं:

  • ज़रूरत के हिसाब से इस्तेमाल: Compose का इस्तेमाल, किसी भी तरह का यूज़र इंटरफ़ेस बनाने के लिए किया जा सकता है. जैसे, आसान लेआउट से लेकर जटिल ऐनिमेशन तक. कॉम्पोनेंट बिना किसी बदलाव के काम करते हैं. हालांकि, इन्हें अपने ऐप्लिकेशन की ज़रूरतों के हिसाब से पसंद के मुताबिक बनाया जा सकता है और इनकी स्टाइल भी बदली जा सकती है.
  • ऐप्लिकेशन डेवलप करने का आसान और तेज़ तरीका: Compose, मौजूदा कोड के साथ काम करता है. साथ ही, डेवलपर को कम कोड के साथ ऐप्लिकेशन बनाने में मदद करता है.
  • इस्तेमाल में आसान: Compose, डिक्लेरेटिव सिंटैक्स का इस्तेमाल करता है. इसकी मदद से, यूज़र इंटरफ़ेस में बदलाव किए जा सकते हैं, कोड को डीबग किया जा सकता है, उसे समझा जा सकता है, और उसकी समीक्षा की जा सकती है.

अगर आपको Jetpack Compose टूलकिट का इस्तेमाल करने के बारे में नहीं पता है, तो Compose पाथवे देखें. मोबाइल Compose के लिए डेवलपमेंट के कई सिद्धांत, टीवी पर भी लागू होते हैं. डिक्लेरेटिव यूज़र इंटरफ़ेस (यूआई) फ़्रेमवर्क के सामान्य फ़ायदों के बारे में ज़्यादा जानने के लिए, Compose क्यों देखें. ज़्यादा जानने के लिए, GitHub पर Compose for TV के सैंपल रिपॉज़िटरी भी देखें.

Android TV के लिए सहायता जोड़ने का तरीका जानें

इस प्रॉम्प्ट में, Leanback के बजाय टीवी के लिए Jetpack Compose का इस्तेमाल करके, अपने ऐप्लिकेशन में Android TV के लिए सहायता जोड़ने के बारे में दिशा-निर्देश मांगे जाते हैं.

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

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

एआई के प्रॉम्प्ट का इस्तेमाल करना

एआई प्रॉम्प्ट का इस्तेमाल, Android Studio में Gemini में किया जा सकता है. इसके लिए, Canary का सबसे नया वर्शन ज़रूरी है

Studio में Gemini के बारे में ज़्यादा जानने के लिए, यहां जाएं: https://developer.android.com/studio/preview/gemini

इनके साथ काम करता है

'टीवी के लिए कॉम्पोज़ करें' सुविधा, Android 5.0 (एपीआई लेवल 21) या इसके बाद के वर्शन वाले Android TV पर काम करती है. Compose for TV के वर्शन 1.0 का इस्तेमाल करने के लिए, androidx.compose लाइब्रेरी का 1.3.0 वर्शन और Kotlin 1.7.10 का होना ज़रूरी है.

सेटअप

Android TV पर Jetpack Compose का इस्तेमाल करना, किसी भी दूसरे Android प्रोजेक्ट के लिए Jetpack Compose का इस्तेमाल करने जैसा ही है. इन दोनों में मुख्य अंतर यह है कि Compose for TV, ऐसी लाइब्रेरी जोड़ता है जिनमें टीवी के लिए ऑप्टिमाइज़ किए गए कॉम्पोनेंट होते हैं. साथ ही, इनसे टीवी के हिसाब से यूज़र इंटरफ़ेस बनाना आसान हो जाता है. कुछ मामलों में, उन कॉम्पोनेंट का नाम वही होता है जो टीवी के अलावा अन्य डिवाइसों के लिए इस्तेमाल किए जाते हैं. जैसे, androidx.tv.material3.Button और androidx.compose.material3.Button.

Jetpack Compose टूलकिट की डिपेंडेंसी

टीवी के लिए Compose का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन की build.gradle फ़ाइल में Jetpack Compose टूलकिट की डिपेंडेंसी को इस तरह शामिल करें:

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'
}

इसमें क्या फ़र्क़ है

टीवी के कॉन्टेंट के कॉम्पोनेंट, लिविंग रूम के लिए डिज़ाइन किए गए हैं. इनमें फ़ोकस के लिए साफ़-साफ़ दिखने वाले इंडिकेटर और रिमोट से आसानी से इनपुट करने की सुविधा है. इन कॉम्पोनेंट को इस्तेमाल करने के तरीके के बारे में जानने के लिए, टीवी के यूज़र इंटरफ़ेस (यूआई) के डिज़ाइन से जुड़ी गाइड देखें.

पहली इमेज. टीवी के लिए उपलब्ध मटीरियल लाइब्रेरी के सैंपल कॉम्पोनेंट.

इन सुविधाओं का फ़ायदा पाने के लिए, जहां भी हो सके एपीआई के टीवी वर्शन का इस्तेमाल करें.

Compose Material के मोबाइल वर्शन का इस्तेमाल तकनीकी तौर पर किया जा सकता है. हालांकि, इसे Android TV पर इंटरैक्शन के यूनीक स्टाइल के लिए ऑप्टिमाइज़ नहीं किया गया है. इसके अलावा, Compose for TV से मिले कॉम्पोज़ मटीरियल को Compose से मिले कॉम्पोज़ मटीरियल के साथ मिक्स करने पर, अनचाहे नतीजे मिल सकते हैं. उदाहरण के लिए, हर लाइब्रेरी का अपना MaterialTheme ऑब्जेक्ट होता है. इसलिए, दोनों वर्शन का इस्तेमाल करने पर, रंग, टाइपोग्राफ़ी या आकार में अंतर हो सकता है.

नीचे दी गई टेबल में, टीवी और मोबाइल के बीच डिपेंडेंसी के अंतर के बारे में बताया गया है:

टीवी डिपेंडेंसी
(androidx.tv.*)
तुलना मोबाइल डिपेंडेंसी
(androidx.compose.*)
androidx.tv:tv-material इसके बजाय androidx.compose.material3:material3

अन्य संसाधन

  • टीवी डिज़ाइन से जुड़ी गाइड
    डेवलपर के काम के रिसॉर्स के लिंक के साथ, यूज़र इंटरफ़ेस बनाने के लिए, टीवी के खास कॉम्पोनेंट की खास जानकारी.

  • टीवी के लिए बनाए गए कैटलॉग का सैंपल
    यह एक कैटलॉग ऐप्लिकेशन है. इसमें, Compose for TV का इस्तेमाल करके, Material Design के सिद्धांतों को लागू करने का तरीका बताया गया है.

  • JetStream का सैंपल
    यह एक मीडिया स्ट्रीमिंग ऐप्लिकेशन है. इसमें, सामान्य Material ऐप्लिकेशन और असल दुनिया के आर्किटेक्चर के साथ TV Compose का इस्तेमाल दिखाया गया है.

  • Compose for TV के बारे में जानकारी
    इस कोडलैब में, कैटलॉग ब्राउज़र स्क्रीन और जानकारी वाली स्क्रीन के साथ वीडियो प्लेयर ऐप्लिकेशन बनाने का तरीका बताया गया है.

इसके बारे में और पढ़ें

टीवी पर बेहतरीन अनुभव देने के लिए, इन गाइड को देखें: