Android Jetpack Nedir ve Android Studio'da Hızlıca Nasıl Başlanır

Kerem Aydın·10 Temmuz 2026·⏱3 dk

Jetpack, Google tarafından sunulan ve uygulamanın mimarisini, kullanıcı arayüzünü (UI), veri işlemlerini ve yaşam döngüsünü kolaylaştıran kütüphaneler ve araçlardan oluşan bir pakettir. Cevap: Başlamak için Android Studio'da (Kotlin) bir proje oluşturun, temel bağımlılıkları (Compose, Lifecycle/ViewModel, Room, Hilt) ekleyin, kapt'ı etkinleştirin ve Gradle'ı senkronize edin; ardından UI'ı Compose ile yazabilir ve verileri ViewModel/Room aracılığıyla yönetebilirsiniz.

Jetpack'e Neler Dahildir ve Neden Önemlidir

Jetpack gruplara ayrılmıştır: UI (Compose), mimari (ViewModel, LiveData, Paging), davranış (Navigation, WorkManager) ve Foundation (Room, Security, Test). Temel avantajlar şunlardır:

  • Daha az boilerplate kod — odak noktası iş mantığıdır.
  • Farklı Android sürümleriyle uyumluluk.
  • Kotlin (korutinler, Flow) ve Android Studio ile entegrasyon.

2026 yılında yeni projeler için temel yığın şudur: Compose (UI), Hilt (bağımlılık enjeksiyonu), Room (yerel veritabanı), Navigation Compose. Bu paketle başlayın; görevlerin %80'ini kapsar.

Yeni projeler için Compose + Hilt + ViewModel kombinasyonu hızlı ve ölçeklenebilir bir başlangıç sağlar.

Hızlı Başlangıç: Android Studio'da Jetpack Nasıl Eklenir

  1. Proje oluşturun: File → New → New Project → Empty Activity (Kotlin).
  2. module build.gradle.kts dosyasında eklentileri etkinleştirin:
plugins {
  id("com.android.application")
  kotlin("android")
  kotlin("kapt")
  id("dagger.hilt.android.plugin")
}
  1. Minimum bağımlılıkları ekleyin (versiyonları güncel olanlara göre güncelleyin):
// Compose
implementation("androidx.compose.ui:ui:1.6.4")
implementation("androidx.activity:activity-compose:1.9.0")
// ViewModel + Lifecycle
implementation("androidx.lifecycle:viewmodel-compose:2.8.3")
// Room
implementation("androidx.room:room-runtime:2.6.1")
kapt("androidx.room:room-compiler:2.6.1")
// Hilt
implementation("com.google.dagger:hilt-android:2.51")
kapt("com.google.dagger:hilt-compiler:2.51")
// Compose için Navigation
implementation("androidx.navigation:navigation-compose:2.8.0")
  1. Proje düzeyindeki build.gradle dosyasında depoları dahil edin: google(), mavenCentral().
  2. Hilt'i yapılandırın: Application sınıfına @HiltAndroidApp anotasyonunu ekleyin ve Gradle'a eklentiyi dahil edin.
  3. Activity içinde setContent { /* Compose UI */ } kullanın ve kompozisyonlarda hiltViewModel() çağırın.

Room ve Hilt için kotlin-kapt'ı unutmayın — kapt olmadan kod üretimi çalışmaz ve derleme başarısız olur.

Kısa Örnek: TODO Listesi (Özet, Tam Kod İçermez)

Entity:

@Entity
data class Task(@PrimaryKey val id: Int, val title: String, val done: Boolean)

DAO:

@Dao
interface TaskDao {
  @Query("SELECT * FROM task")
  fun getAll(): Flow<List<Task>>
}

Database:

@Database(entities = [Task::class], version = 1)
abstract class AppDatabase : RoomDatabase() { abstract fun taskDao(): TaskDao }

ViewModel (Hilt):

@HiltViewModel
class TaskViewModel @Inject constructor(private val dao: TaskDao): ViewModel() {
  val tasks = dao.getAll().stateIn(viewModelScope, SharingStarted.Lazily, emptyList())
}

Compose UI:

@Composable
fun MainScreen(vm: TaskViewModel = hiltViewModel()) {
  val tasks by vm.tasks.collectAsState()
  LazyColumn { items(tasks) { Text(it.title) } }
}

Çalıştırma işlemi veritabanından bir liste gösterir; ardından navigasyon ve sayfalama eklenebilir.

En İyi Uygulamalar ve XML'den Geçiş

  • Mimari: MVVM + repository'ler; ViewModel UI durumunu tutar, Repository verileri yönetir.
  • Migrasyon: Aşamalı geçiş için Compose Interop (AndroidView) kullanın.
  • Test: UI için JUnit + ComposeTestRule; ViewModel ve DAO'yu ayrı ayrı test edin.
  • Performans: Profil oluşturun, yeniden kompozisyonu (recomposition) izleyin; Lazy listeler ve görüntü optimizasyonları kullanın.
  • Platformlar arasında mantık yeniden kullanımı gerekiyorsa çok platformlu Compose'a geçişi planlayın.

Bağımlılıkları güncel tutun: sürüm notlarını kontrol edin ve kütüphane versiyonlarını güncelleyin.

Sık Yapılan Hatalar

  • kapt unutulması — kod üretimi başarısız olur.
  • Compose ve activity-compose versiyonlarının uyuşmaması — derleme çakışması.
  • UI thread'inde engelleyici işlemler kullanılması (korutinler/Flow gerekir).
  • İş mantığının Repository/ViewModel yerine View/Activity içinde tutulması.

SSS

  • Hilt'i nasıl hızlıca eklerim? — Eklentiyi ve bağımlılıkları ekleyin, Application sınıfını @HiltAndroidApp olarak anotasyonlayın.
  • Compose'a hemen geçmek gerekir mi? — Parça parça geçiş yapabilirsiniz; Compose Interop XML ve Compose'u bir arada kullanmanıza yardımcı olur.
  • Verileri çevrimdışı nasıl saklarım? — Room + Flow/Korutinler + Repository.
  • Jetpack güncellemelerini nerede takip edebilirim? — AndroidX kütüphanelerinin sürüm notlarında ve Google duyurularında; bağımlılık versiyonlarını takip edin.

Gerekirse, bu bileşenleri ve Gradle dosyalarını içeren hazır çalışan bir proje hazırlayabilirim.