Jetpack Compose'u Etkinleştirme ve İlk Ekranı Oluşturma Adımları

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

Android Studio'da Jetpack Compose'u app modülünde etkinleştirebilirsiniz: android { buildFeatures { compose = true } } içine kotlinCompilerExtensionVersion ekleyin, Compose bağımlılıklarını dahil edin ve Activity'yi ComponentActivity ile setContent { ... } kullanarak değiştirin — aşağıda adım adım kod ve ipuçlarıyla açıklanmıştır.

Projenin Hızlı Hazırlığı

  1. Yeni proje: File → New → New Project → Empty Compose Activity (varsa).
  2. Mevcut bir proje için modüler build.gradle(.kts) dosyasında değişiklik yapın:

Örnek build.gradle.kts (Module: app):

android {
    compileSdk = 34

    defaultConfig {
        minSdk = 24
        targetSdk = 34
    }

    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.17"
    }
}

dependencies {
    implementation("androidx.core:core-ktx:1.11.0")
    implementation("androidx.activity:activity-compose:1.9.2")
    implementation("androidx.compose.ui:ui:1.7.0")
    implementation("androidx.compose.ui:ui-tooling-preview:1.7.0")
    implementation("androidx.compose.material3:material3:1.3.0")
    // Gerekirse navigation-compose ekleyin
}

Kütüphanelerin kararlı çalışması ve daha hızlı derleme için minSdk ≥24 olarak ayarlayın. Değişikliklerden sonra Gradle'ı senkronize edin.

İlk Ekranı Oluşturma ve Çalıştırma (MainActivity ve Composable)

Activity'yi ComponentActivity ile değiştirin ve setContent kullanın. Basit, çalışan bir örnek:

import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.*
import androidx.compose.material3.*
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            MaterialTheme {
                Surface(
                    modifier = Modifier.fillMaxSize(),
                    color = MaterialTheme.colorScheme.background
                ) {
                    FirstScreen()
                }
            }
        }
    }
}

@Composable
fun FirstScreen() {
    var count by remember { mutableStateOf(0) }
    Column(
        modifier = Modifier
            .fillMaxSize()
            .padding(16.dp),
        verticalArrangement = Arrangement.Center,
        horizontalAlignment = Alignment.CenterHorizontally
    ) {
        Text("Merhaba, Jetpack Compose!", style = MaterialTheme.typography.headlineMedium)
        Spacer(Modifier.height(16.dp))
        Button(onClick = { count++ }) {
            Text("Tıklama sayısı: $count")
        }
    }
}

Android Studio'da hızlı kontrol için önizleme ekleyin:

@Preview(showBackground = true)
@Composable
fun FirstScreenPreview() {
    FirstScreen()
}

API 34+ emülatöründe veya gerçek bir cihazda çalıştırın — ekran anında çizilecektir.

Kontrol, Derleme ve Faydalı Uzantılar

  • Önizleme: Design → Preview sekmesini açın; düzenleyici @Preview'i otomatik olarak gösterecektir.
  • Hot Reload / Apply Changes: Tam derleme olmadan hızlı UI düzeltmeleri için kullanın.
  • Navigasyon: Çok ekranlı uygulama için "androidx.navigation:navigation-compose:2.8.0" bağımlılığını ekleyin.
  • Release derlemesi: Build → Build Bundle(s) / APK(s) → Build APK(s).

Compose Kotlin gerektirir. Proje Java'da ise modülü Kotlin'e dönüştürün veya yeni bir Kotlin modülü oluşturun; Compose Java'yı doğrudan desteklemez.

Yaygın Hatalar

  • buildFeatures { compose = true } eklenmemiş — derleme bilinmeyen anotasyonlarla ilgili hatalarla başarısız olur.
  • Yanlış kotlinCompilerExtensionVersion sürümü — Compose sürümleriyle uyumluluğu kontrol edin.
  • @Composable içinde Android View'a özel API'lerin adaptasyon olmadan kullanılması — UI tepki vermez.
  • Bağımlılıklarda activity-compose eksik — setContent erişilebilir değil.

SSS

  • XML'i devre dışı bırakmak gerekir mi? Hayır — ComposeView veya AndroidView aracılığıyla Compose ve XML'i birleştirebilirsiniz, ancak yeni ekranlar için Compose tercih edilir.
  • Durum nasıl hata ayıklanır? remember/rememberSaveable ve Layout Inspector araçlarını kullanın.
  • Material 3 nasıl eklenir? Bağımlılıklara material3 ekleyin ve UI'yı MaterialTheme içine alın (örnekteki gibi).

Artık hazır, çalışan bir konfigürasyona ve minimal bir ekrana sahipsiniz. Durum, navigasyon ve animasyonlarla deney yapın — Compose arayüzleri hızla prototiplemenize ve iyileştirmenize olanak tanır.