Nasıl Başlanır: Temel Kavramlar, Araçlar ve Basit Bir Proje

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

Kısaca: Android Studio'yu (JDK ve SDK ile birlikte) kurun, Kotlin ile Jetpack Compose kullanan bir proje oluşturun ve basit bir Activity çalıştırın; bu size öğrenme ve ileride genişletme için çalışan bir temel sağlayacaktır.

Temel Kavramlar ve Önerilen Mimari

Android uygulaması bileşenlerden oluşur: Activity (ekran), Service (arka plan), BroadcastReceiver (olaylar), ContentProvider (veri alışverişi). Yaşam döngüsü yönetimi ve gezinme Intents ve Jetpack kütüphaneleri aracılığıyla gerçekleştirilir.

Mimari önerileri:

  • UI ve mantığı ayırın: UI sadece görüntüleme içindir; mantık ve veri erişimi ViewModel/Repository katmanında olmalıdır.
  • Single Source of Truth (Tek Gerçek Kaynak) ve tek yönlü veri akışı (StateFlow/LiveData) kullanın.
  • Jetpack'i kullanın: ViewModel, Lifecycle, Room, Navigation, Hilt; bunlar test edilebilirliği artırır ve yapılandırma değişikliklerine karşı dayanıklılığı sağlar.

MVVM + katmanlı proje yapısı (ui/domain/data) ile başlayın; bu ölçeklendirmeyi kolaylaştıracaktır.

Araçlar ve Kurulum — Şu An Tam Olarak Neye İhtiyacınız Var

Başlangıç için minimum gereksinimler:

  • Android Studio (son stabil sürüm) — SDK, AVD ve Gradle içerir.
  • JDK (genellikle Android Studio ile birlikte gelir).
  • Versiyon kontrolü için Git.
  • USB hata ayıklaması açık olan bir cihaz veya AVD (emülatör).

Kurulum için pratik ipuçları:

  • SDK Manager üzerinden API platformlarını kurun (uyumluluk için API 26+ önerilir).
  • Düşük donanımlı bir PC kullanıyorsanız, emülatör yerine fiziksel bir cihaz kullanın veya kaynakları azaltılmış bir AVD imajı seçin.
  • En baştan itibaren kod formatlama (ktlint) ve statik analiz (detekt) araçlarını yapılandırın.

İlk Proje: Kotlin + Jetpack Compose ile Hello World (Adımlar ve Kod)

Adımlar:

  1. Android Studio'yu başlatın → "New Project" → Compose içeren şablonu seçin (veya Empty Activity seçip Compose'u etkinleştirin).
  2. Dil olarak Kotlin'i seçin; minimum API 21+; Gradle senkronizasyonunun tamamlanmasını bekleyin.
  3. Bir AVD oluşturun/başlatın veya bir cihaz bağlayın ve Run butonuna basın.

Compose ile en basit MainActivity örneği:

package com.example.hellocompose

import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.material3.*
import androidx.compose.runtime.Composable
import androidx.compose.ui.tooling.preview.Preview

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent { HelloComposeApp() }
    }
}

@Composable
fun HelloComposeApp() {
    MaterialTheme {
        Surface {
            Text("Hello, Android!", style = MaterialTheme.typography.titleLarge)
        }
    }
}

@Preview(showBackground = true)
@Composable
fun PreviewHello() = HelloComposeApp()

Derleme sonrası uygulama emülatörde veya cihazda çalışacaktır. Her şey düzgün çalışıyorsa, ViewModel, gezinme ve ağ istekleri eklemeye hazırsınız demektir.

Faydalı Pratikler ve Tuzaklardan Kaçınma Yolları

  • Durum yönetimini (state) Activity/Compose içinde değil, ViewModel'de tutun.
  • Asenkron işlemler için Kotlin Coroutines + Flow/StateFlow kullanın.
  • DI (Hilt) ve katman ayrımını ilk commitlerden itibaren yapılandırın.
  • Kontrolleri otomatikleştirin: linterlar, ViewModel için unit testler, Compose için UI testleri.

Keystore dosyasını (imzalama anahtarları) kaybetmeyin. Play App Signing etkinleştirilmediyse, kaybedilen anahtar paket adını değiştirmeden güncelleme yayınlamayı imkansız hale getirir.

Sık Yapılan Hatalar

  • İş mantığının UI içinde tutulması.
  • Yaşam döngüsü yönetiminin ihmal edilmesi (coroutine'ler yoluyla bellek sızıntıları).
  • Sadece tek bir cihaz/emülatör üzerinde test yapılması.
  • ProGuard/R8 yapılandırmasının zamanında yapılmaması; bu durum release derlemesini bozabilir.

SSS

  • Nereden başlamalı: Android Studio'yu kurun ve Kotlin ile Compose kullanan bir proje oluşturun.
  • UI nasıl seçilmeli: Yeni projeler için Jetpack Compose; eski kod desteği için XML/Views.
  • Git gerekli mi: Evet, hemen bir depo oluşturun ve Android için .gitignore dosyası ekleyin.

İsterseniz şunları yapabilirim: Windows/macOS/Linux için kurulum kontrol listesi hazırlamak; Compose + MVVM + Room + Hilt kullanan bir To-Do şablonu oluşturmak; veya egzersizlerle birlikte 6 haftalık bir öğrenme planı hazırlamak. Hangisini tercih edersiniz?