Junior
Android'de hangi liste uygulamaları vardır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Android'de temel liste uygulamaları şunlardır:
- Model: ListView + Adapter: Eski yöntem, burada
ListViewöğeleriAdapter'dan gösterir. Performans optimizasyonu (görünümlerin yeniden kullanımı) manuel olarak yapılmalıdır. - Model: RecyclerView: Modern, esnek ve verimli bir yaklaşım.
RecyclerViewçizimden sorumludur veLayoutManageröğelerin konumlandırmasını yönetir.ViewHolderkullanarak görünüm yeniden kullanımı mekanizması içerir. - Model: LazyColumn/LazyRow: Jetpack Compose içinde listeleri göstermek için
LazyColumn(dikey listeler) veLazyRow(yatay listeler) adlı composable fonksiyonlar kullanılır. Sadece ekran üzerinde görünen öğeleri çizer, yüksek performans sağlar.
| Uygulama | Amaç | Özellikler | Avantajlar | Dezavantajlar |
|---|---|---|---|---|
ListView |
Öğeleri liste halinde gösterir | Eski, Adapter gerekir |
Basit listeler için kullanımı kolay | Optimizasyon olmadan düşük performans, daha az esnek |
RecyclerView |
Büyük listeleri esnek ve verimli gösterir | Adapter ve LayoutManager gerekir, ViewHolder kullanır |
Yüksek performans, esnek yapılandırma seçenekleri, animasyonlar | Daha fazla kod gerektirir |
LazyColumn/LazyRow (Compose) |
Jetpack Compose içinde listeleri gösterir | Sadece görünen öğeleri çizer | Deklaratif sözdizimi, yüksek performans, kolay entegrasyon | Sadece Jetpack Compose için |
XML düzenlemesinde RecyclerView kullanımı örneği:
<?xml version="1.0" encoding="utf-8"?>
<androidx.recyclerview.widget.RecyclerView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/my_recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
Jetpack Compose'da LazyColumn kullanımı örneği:
// Dikey liste için LazyColumn
@Composable
fun MyLazyColumn() {
val items = listOf("Item 1", "Item 2", "Item 3") // Örnek veriler
LazyColumn {
items(items) { item ->
Text(text = item) // Her öğeyi gösteren composable
}
}
}