Birleştirme
- Kotlin kursu
- Uzman
- Ders 47/47
- 6 dk
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
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
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?
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
println("${____}: ${noteView(b.build())}")
println("${App.run()}: ${noteView(b.build())}")
Açıklama: ${App.run()} uygulama adını dizeye gömer.