Android TV'de Jetpack Compose'u kullanma

TV için Yazma, Android TV kullanıcı arayüzleri oluştururken önerdiğimiz yaklaşımdır. TV uygulamalarınız için Android Jetpack Compose'un tüm avantajlarından yararlanmanıza olanak tanıyarak uygulamanız için güzel ve işlevsel kullanıcı arayüzleri oluşturmayı çok daha kolay hale getirir. TV için Yazma özelliğini kullanmanın belirli avantajlarından bazıları şunlardır:

  • Esneklik: Oluşturma özelliği, basit düzenlerden karmaşık animasyonlara kadar her türlü kullanıcı arayüzünü oluşturmak için kullanılabilir. Bileşenler anında kullanılır, ancak uygulamanızın ihtiyaçlarına uyacak şekilde özelleştirilebilir ve stil özellikleri de ayarlanabilir.
  • Basitleştirilmiş ve Hızlandırılmış Geliştirme: Oluşturma, mevcut kodlarla uyumludur ve geliştiricilerin daha az kodla daha verimli bir şekilde uygulama geliştirmesine olanak tanır.
  • Sezgisel: Compose, kullanıcı arayüzünde değişiklik yapmanıza, hata ayıklamanıza, kodunuzu anlamanıza ve incelemenize olanak tanıyan bildirim temelli bir söz dizimi kullanır.

Jetpack Compose araç setini kullanmaya aşina değilseniz Compose yolunu inceleyin. Mobil Yazma Aracı'na yönelik geliştirme ilkelerinin birçoğu TV için de geçerlidir. Bildirim temelli kullanıcı arayüzü çerçevesinin genel avantajları hakkında daha fazla bilgi için Neden Oluşturma? bölümüne bakın. Daha fazla bilgi edinmek için GitHub'daki Compose for TV örnekleri deposuna da göz atın.

Uyumluluk

TV için ileti yazma özelliği, API düzeyi 21 veya sonraki sürümlerin yüklü olduğu Android TV'lerde çalışır. TV için Compose'un 1.0 sürümünü kullanmak için androidx.compose kitaplıklarının 1.3.0 sürümü ve Kotlin 1.7.10 sürümü gerekir.

Kurulum

Android TV'de Jetpack Compose'u kullanmak, diğer Android projeleri için Jetpack Compose'u kullanmaya benzer. Temel fark, TV için Compose'un, TV için optimize edilmiş bileşenler sunan ve TV'ye özel kullanıcı arayüzleri oluşturmayı kolaylaştıran kitaplıklar eklemesidir. Bazı durumlarda bu bileşenler, TV dışındaki eşdeğerleriyle aynı adı paylaşır (ör. androidx.tv.material3.Button ve androidx.compose.material3.Button).

Jetpack Compose araç seti bağımlılıkları

TV için Compose'u kullanmak istiyorsanız Jetpack Compose araç seti bağımlılıklarını uygulamanızın build.gradle dosyasına aşağıdaki şekilde eklemeniz gerekir:

Kotlin

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

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

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

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

Eski

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

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

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

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

Farklar

Mümkün olduğunda API'lerin TV sürümünü kullanın. Oluşturma Materyalinin mobil sürümü teknik olarak mümkün olsa da, Android TV'deki benzersiz etkileşim stili için optimize edilmemiştir. Ayrıca, TV için Compose'daki Compose Materyalini kullanarak Compose Materyalini kullanmak beklenmedik davranışlara neden olabilir. Örneğin, her kitaplığın kendi MaterialTheme nesnesi olduğundan, her iki sürüm de kullanıldığında renkler, tipografi veya şekiller tutarsız olabilir.

Aşağıdaki tabloda TV ve Mobil arasındaki bağımlılık farkları özetlenmiştir:

TV Bağımlılığı
(androidx.tv.*)
Karşılaştırma Mobil Bağımlılık
(androidx.compose.*)
androidx.tv:tv-malzeme yerine androidx.compose.material3:malzeme3
androidx.tv:tv-temeli buna ek olarak androidx.compose.foundation:temel

Ek kaynaklar

  • TV Materyal Kataloğu örneği
    TV için Oluştur'u kullanarak Materyal Tasarım ilkelerinin nasıl uygulanacağını gösteren bir katalog uygulaması.

  • JetStream örneği
    TV Compose'un tipik bir Material uygulaması ve gerçek dünya mimarisiyle kullanımını gösteren bir medya yayın uygulaması.

  • TV için Compose'a giriş
    Bu codelab'de, katalog tarayıcısı ekranı ve ayrıntılar ekranı bulunan bir video oynatıcı uygulaması oluşturma adımları açıklanmaktadır.

Daha fazla bilgi

Aşağıdakiler için TV için optimize edilmiş mükemmel deneyimler oluşturma hakkında bilgi edinmek üzere bu kılavuzları inceleyin: