CodeBlanks Logo Icon CodeBlanks

Birleştirme

Tüm uzman konularını birleştirerek çalışan bir mini uygulama yazarsın.

Birleştirme

Son ders tüm parçaları birleştirir: App kökü, Note paylaşılan verisi, NoteBuilder kod üretimi ve noteView UI'ı tek bir main akışında.

Yapacağın şey main gövdesini değiştirmek: App.run() ile uygulama adını, noteView(b.build()) ile not başlığını tek bir println'de birleştirmek. Çıktı "Expert Notes: Compose" olur. Bu, KMP + KSP + Compose birleşiminin çalışan bir modelidir.

Birleşik main akışı

Birleşik main, dört parçayı tek çıktıda buluşturur: App.run() adı verir, NoteBuilder veriyi üretir, noteView onu çizer.

Örnek: val b = NoteBuilder(); b.title = "Compose"; println("${'$'}{App.run()}: ${'$'}{noteView(b.build())}"). Çıktı Expert Notes: Compose olur. Bu, tek yönlü veri akışının tam modelidir: kök ad, builder veri, composable çizim. Uzman finalın özeti budur.

Uygulama Birleşik main'i yaz

main gövdesini değiştir: val b = NoteBuilder(); b.title = "Compose" yap, sonra println("${'$'}{App.run()}: ${'$'}{noteView(b.build())}") yaz. Çıktı Expert Notes: Compose olmalı.

Başlangıç kodu

Main.kt
object App {
    fun run(): String = "Expert Notes"
}

data class Note(val id: Int, val title: String)

annotation class AutoBuilder

class NoteBuilder {
    var id = 0
    var title = ""
    fun build(): Note = Note(id, title)
}

fun noteView(note: Note): String = note.title

// main: App nesnesi + NoteBuilder + noteView ile birleştir

fun main() {
    val b = NoteBuilder()
    b.title = "Compose"
    println(noteView(b.build()))
}

Örnek çözüm

Main.kt
fun main() {
    val b = NoteBuilder()
    b.title = "Compose"
    println("${App.run()}: ${noteView(b.build())}")
}

Beklenen çıktı

Expert Notes: Compose

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Son derste ne birleştirilir?

Main.kt
The final lesson combines three expert topics.
  • KMP + KSP + Compose Doğru cevap
  • val, var, const
  • class, object, kalıtım
  • Activity, Fragment, View

Açıklama: Son ders KMP, KSP ve Compose'ı birleştirir.

2 Birleştirme parçalarını eşle

Kavram Anlamı
App.run() Uygulama adı
NoteBuilder Kod üretimi
noteView UI katmanı
Note Paylaşılan veri

3 birleşik println'i tamamla

Soru
println("${____}: ${noteView(b.build())}")
Cevap
println("${App.run()}: ${noteView(b.build())}")

Açıklama: ${App.run()} uygulama adını dizeye gömer.

Uzman bölümündeki tüm dersler