- Android Studio'yu kurup Empty Activity şablonundan proje oluşturmak
- Proje yapısını ve
build.gradle.ktsilelibs.versions.tomldosyalarının rolünü açıklamak - Uygulamayı emülatörde ve gerçek bir telefonda çalıştırmak
Log.dile mesaj yazmak ve onları Logcat'te filtrelemek
Kotlin'i artık biliyorsun: değişkenler, fonksiyonlar, sınıflar, coroutine'ler. Şimdi en heyecanlı an geldi: yazdığın kodu kendi telefonunun ekranında görmek. Bunun için Android Studio gerekir; Google'ın Android uygulamaları için resmî ve ücretsiz geliştirme ortamı. Windows, macOS ve Linux'ta çalışır. Bu derste onu kuracak, ilk projeni oluşturacak, emülatörde ve telefonda çalıştıracak ve uygulamanın “günlüğünü” okumayı öğreneceksin.
Kurulum ve yeni proje
Android Studio'yu developer.android.com/studio adresinden indir. İlk açılışta Setup Wizard (kurulum sihirbazı) başlar ve gereken her şeyi kendisi indirir: Android SDK (kütüphaneler ve araçlar), emülatör ve platform araçları. Emülatör çok bellek ister; bu yüzden bilgisayarının RAM'i ne kadar fazlaysa çalışman o kadar rahat olur.
- 1Kur
Kurulum dosyasını çalıştır, ardından Setup Wizard'da
Standardkurulumu seç ve bileşenlerin inmesini bekle. - 2Şablonu seç
File › New › New Project…menüsünü aç,Phone and TabletbölümündeEmpty Activityşablonunu seç; bu şablon zaten Jetpack Compose ile kurulmuştur. - 3Alanları doldur
Name:Educora Notes,Package name:com.educora.notes.Minimum SDKiçin örneğin API 24 seç; sihirbaz bunun cihazların ne kadarını kapsadığını gösterir.Build configuration languageolarakKotlin DSL'i bırak veFinish'e bas. - 4Gradle senkronizasyonunu bekle
İlk senkronizasyon kütüphaneleri internetten indirir ve birkaç dakika sürebilir. İlerlemeyi pencerenin altındaki durum çubuğunda görürsün.
Proje yapısı ve Gradle
Solda Project penceresi bulunur (Alt+1). Üst kısmında Android görünümü seçildiğinde dosyalar uygulama için kullanışlı bir düzende gruplanır. En önemli parçalar şunlardır:
MainActivity.kt— uygulamanın başlangıç ekranı; Kotlin koduapp/src/mainiçinde,com.educora.notespaketinde bulunur.ui/theme/klasörü —Color.kt,Type.kt,Theme.kt: uygulamanın Material 3 renkleri ve yazı tipleri.AndroidManifest.xml— uygulamanın “kimliği”: adı, simgesi, ekranları (activity) ve izinleri, örneğin internet erişimi.res/— kaynaklar:drawable(görseller),mipmap(başlatıcı simgeleri),values/strings.xml(metinler ve çevirileri).build.gradle.ktsdosyaları vegradle/libs.versions.toml— derleme ayarları ve tüm kütüphane sürümlerini tek yerde tutan sürüm kataloğu.
Android projelerinin derleme sistemi. Kodu derler, gereken kütüphaneleri (bağımlılıkları) internetten indirir ve her şeyi telefona kurulan bir APK ya da Google Play'e yüklenen bir AAB dosyasında toplar. Ayarları .kts dosyalarında Kotlin ile yazılır.
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.compose)
}
android {
namespace = "com.educora.notes"
compileSdk = 36
defaultConfig {
applicationId = "com.educora.notes"
minSdk = 24
targetSdk = 36
versionCode = 1
versionName = "0.1.0"
}
buildFeatures {
compose = true
}
}
dependencies {
implementation(platform(libs.androidx.compose.bom))
implementation(libs.androidx.material3)
implementation(libs.androidx.activity.compose)
}app/build.gradle.kts (sadeleştirilmiş). AGP 8.x projelerinde alias(libs.plugins.kotlin.android) satırı da bulunur; AGP 9'dan itibaren Kotlin desteği eklentiye yerleşiktir.applicationId— uygulamanın Google Play'deki benzersiz kimliği.minSdk— uygulamanın çalıştığı en eski Android sürümü;targetSdk— uygulamanın test edildiği ve davranışının uyarlandığı sürüm;compileSdk— derleme için kullanılan SDK.versionCodeveversionName— uygulamanın sürümü; bunları yayımlama dersinde ayrıntılı ele alacağız.libs.…— sürüm kataloğundan gelen adlar; Compose BOM (platform(...)), tüm Compose kütüphanelerinin sürümlerini birbiriyle uyumlu tutar.
android {
namespace 'com.educora.notes'
compileSdk 36
defaultConfig {
applicationId "com.educora.notes"
minSdk 24
versionCode 1
versionName "0.1.0"
}
}
dependencies {
implementation libs.androidx.material3
}android {
namespace = "com.educora.notes"
compileSdk = 36
defaultConfig {
applicationId = "com.educora.notes"
minSdk = 24
versionCode = 1
versionName = "0.1.0"
}
}
dependencies {
implementation(libs.androidx.material3)
}= ile, metinler çift tırnakla, fonksiyonlar parantezle yazılır; düzenleyici de otomatik tamamlama ve hata denetimi sunar.MainActivity: uygulamanın giriş kapısı
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContent {
EducoraNotesTheme {
Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
Greeting(
name = "Android",
modifier = Modifier.padding(innerPadding)
)
}
}
}
}
}
@Composable
fun Greeting(name: String, modifier: Modifier = Modifier) {
Text(text = "Hello $name!", modifier = modifier)
}Activity, uygulamanın bir penceresidir. Sistem onu oluştururken onCreate fonksiyonunu çağırır. enableEdgeToEdge(), içeriği tüm ekrana, durum ve gezinme çubuklarının altına kadar yayar. setContent { } ise ekranın içeriğini Compose ile belirler: tema, Scaffold iskeleti ve Greeting fonksiyonu. innerPadding, metnin sistem çubuklarının altında kalmasını önler.
Emülatörde ve telefonda çalıştır
Uygulamayı iki yerde çalıştırabilirsin: bilgisayarında çalışan sanal bir telefonda, yani emülatörde (AVD, Android Virtual Device) ya da USB kablo veya Wi-Fi ile bağlanmış gerçek bir telefonda. Gerçek cihaz genellikle daha hızlıdır ve dokunmayı, kamerayı, sensörleri gerçekten test etmeni sağlar.
- 1Sanal cihaz oluştur
View › Tool Windows › Device Managerpenceresini aç,+düğmesine bas veCreate Virtual Device'ı seç. Bir telefon modeli (örneğin bir Pixel) ve en son Android sürümünün sistem görüntüsünü seçipFinish'e bas. - 2Çalıştır
Araç çubuğundaki listeden cihazı seç ve yeşil
Runüçgenine ya daShift+F10'a bas. Gradle uygulamayı derler, cihaza kurar ve açar. - 3Telefonda geliştirici seçeneklerini aç
Settings › About phonebölümündeBuild numbersatırına yedi kez dokun. ArdındanDeveloper optionsbölümündeUSB debugging'i aç (menünün yeri üreticiye göre değişebilir). - 4Bağla ve izin ver
Telefonu USB ile bağla ve ekrandaki “Allow USB debugging?” sorusunu onayla. Kablosuz çalışmak için (Android 11+)
Wireless debugging'i aç ve Android Studio'daPair Devices Using Wi-Fiile QR kodunu tara.
Logcat: uygulamanın günlüğü
Telefonda println çıktısını göreceğin bir konsol yoktur. Android'de mesajlar sistem günlüğüne yazılır; Android Studio da onları Logcat penceresinde gösterir (View › Tool Windows › Logcat). Mesaj yazmak için Log sınıfı kullanılır; her mesajın bir etiketi (kaynağının adı) ve bir düzeyi vardır: Log.v (verbose), Log.d (debug), Log.i (info), Log.w (warning), Log.e (error).
private const val TAG = "MainActivity"
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Log.d(TAG, "onCreate called")
val lessons = listOf("Kotlin", "Compose", "Gradle")
Log.i(TAG, "Loaded ${lessons.size} lessons")
Log.w(TAG, "No internet, showing cached data")
// setContent { ... }
}
}tag:MainActivity filtresiyle D, I ve W düzeyli üç satır görürsün; her satırda zaman, paket adı ve mesaj bulunur.| Sorgu | Ne gösterir |
|---|---|
package:mine | yalnızca açık projenin uygulamalarından gelen mesajlar |
tag:MainActivity | bu etiketli mesajlar |
level:WARN | WARN ve daha ciddi düzeyler (ERROR, ASSERT) |
is:crash | uygulama çökmeleri |
-tag:Choreographer | bu etiketi gizler (- olumsuzlar) |
package:mine level:ERROR.Ctrl+R)Shift+F10Ctrl+D)Shift+F9Ctrl+Cmd+R)Ctrl+F10Cmd+F9)Ctrl+F9Cmd+6)Alt+6Cmd+Shift+A)Ctrl+Shift+AÖnemli noktalar
- Android Studio, Google'ın resmî ve ücretsiz ortamıdır; Empty Activity şablonu hazır bir Compose projesi oluşturur.
- Gradle projeyi derler; ayarlar
build.gradle.kts'te, kütüphane sürümlerilibs.versions.toml'da tutulur. applicationId, uygulamanın Google Play'deki benzersiz adıdır ve yayımlandıktan sonra değişmez.- Uygulama emülatörde (AVD) ya da USB veya Wi-Fi ile bağlı bir telefonda çalıştırılır; telefonda önce geliştirici seçenekleri açılmalıdır.
Log.d/i/w/emesajları Logcat'e yazar;package:mine,tag:velevel:filtreleri aradığını bulmana yardım eder.
Kendini test et
10 soru. Her doğru cevap XP kazandırır.
applicationId, minSdk ve versionCode hangi dosyada belirlenir?