Codelab ini adalah bagian dari kursus Dasar-Dasar Android Kotlin. Anda akan mendapatkan manfaat maksimal dari kursus ini jika menyelesaikan codelab secara berurutan. Semua codelab kursus tercantum di halaman landing codelab Dasar-Dasar Android Kotlin.
Pengantar desain
Fokus dalam rangkaian codelab ini adalah salah satu aspek terpenting dalam pengembangan Android, yaitu desain aplikasi. Aspek desain aplikasi yang jelas adalah tampilan, teks, dan tombol, serta posisinya di layar, juga warna dan font yang digunakan. Petunjuk kepada pengguna tentang tindakan selanjutnya yang harus dilakukan juga merupakan aspek penting dalam desain. Pengguna harus dapat melihat sekilas apa yang mereka lihat, apa yang penting, dan apa yang dapat mereka lakukan.
Bandingkan kedua layar di bawah. Perhatikan bahwa dengan memindahkan elemen dan mengarahkan fokus pada hal-hal penting, Anda dapat membantu pengguna memahami apa yang sedang terjadi. Untuk layar sederhana, desain yang baik sering kali berarti menampilkan lebih sedikit. Untuk layar dengan banyak informasi penting, desain yang baik membuat informasi padat dapat dipahami dalam sekejap. Saat mengerjakan Aplikasi Android, Anda mungkin mendengar konsep ini disebut arsitektur informasi (IA).
Tingkat desain lainnya adalah membangun alur pengguna yang koheren, atau kasus penggunaan, yang memungkinkan pengguna menyelesaikan tugas. Bentuk desain ini disebut desain pengalaman pengguna (UXD), dan beberapa desainer berspesialisasi di bidang ini.
|
|
Jika Anda tidak memiliki akses ke desainer, berikut beberapa tips untuk memulai:
- Tentukan kasus penggunaan. Tulis apa yang harus dilakukan pengguna dengan aplikasi Anda, dan caranya.
- Menerapkan desain. Jangan terpaku pada draf pertama Anda, dan buatlah "cukup baik", karena Anda akan mengubahnya setelah melihat cara pengguna berinteraksi dengannya.
- Mendapatkan masukan. Temukan siapa pun yang dapat Anda ajak untuk menguji aplikasi Anda—keluarga, teman, atau bahkan orang yang baru Anda temui di Google Developer Group. Minta mereka menggunakan aplikasi Anda untuk melakukan kasus penggunaan saat Anda mengamati dan membuat catatan mendetail.
- Sempurnakan! Dengan semua informasi tersebut, tingkatkan kualitas aplikasi, lalu uji lagi.
Berikut beberapa pertanyaan lain yang perlu Anda ajukan saat mendesain pengalaman aplikasi yang luar biasa. Anda telah mempelajari teknik untuk mengatasi masalah ini dalam codelab sebelumnya:
- Apakah aplikasi kehilangan statusnya saat pengguna memutar perangkat?
- Apa yang terjadi saat pengguna membuka aplikasi? Apakah pengguna melihat spinner pemuatan, atau apakah data siap di cache offline?
- Apakah aplikasi dikodekan dengan cara yang efisien dan memastikan bahwa aplikasi selalu responsif terhadap sentuhan pengguna?
- Apakah aplikasi berinteraksi dengan sistem backend sedemikian rupa sehingga tidak pernah menyebabkan data yang aneh, salah, atau tidak berlaku lagi ditampilkan kepada pengguna?
Saat Anda mengerjakan aplikasi untuk audiens yang lebih besar, penting untuk membuat aplikasi Anda dapat diakses oleh sebanyak mungkin jenis pengguna. Contoh:
- Banyak pengguna berinteraksi dengan sistem komputer dengan cara yang berbeda. Banyak pengguna yang buta warna, dan warna yang kontras untuk satu pengguna mungkin tidak berfungsi untuk pengguna lain. Banyak pengguna memiliki gangguan penglihatan, mulai dari membutuhkan kacamata baca hingga buta.
- Beberapa pengguna tidak dapat menggunakan layar sentuh, dan mereka berinteraksi melalui perangkat input lain seperti tombol.
Desain yang baik adalah cara terpenting untuk membuat pengguna menggunakan aplikasi Anda.
Codelab ini terlalu singkat untuk mengajarkan semua hal tentang desain untuk Android, tetapi codelab ini akan membantu Anda memulai ke arah yang baik, dan Anda dapat terus belajar dan mengembangkan diri sendiri.
Yang harus sudah Anda ketahui
Anda harus memahami:
- Cara membuat aplikasi dengan aktivitas dan fragmen, serta menavigasi antar-fragmen dengan meneruskan data
- Menggunakan tampilan dan grup tampilan untuk menata antarmuka pengguna (UI), termasuk
RecyclerView - Cara menggunakan Komponen Arsitektur, termasuk
ViewModel, dengan arsitektur yang direkomendasikan untuk membuat aplikasi yang terstruktur dengan baik dan efisien - Pengikatan data, coroutine, dan cara menangani klik
- Cara terhubung ke internet dan meng-cache data secara lokal menggunakan database
Room - Cara menyetel properti tampilan
- Cara mengekstrak resource ke dalam dan menggunakan resource dari file resource XML
Yang akan Anda pelajari
- Dasar-dasar sistem gaya visual Android
- Cara menggunakan atribut, gaya, dan tema untuk menyesuaikan aplikasi Anda
Yang akan Anda lakukan
- Meningkatkan kualitas desain aplikasi starter dengan atribut tampilan, gaya, dan tema
Aplikasi awal pencari GDG dibangun berdasarkan semua yang telah Anda pelajari sejauh ini dalam kursus ini.
Aplikasi menggunakan ConstraintLayout untuk menata tiga layar. Dua layar hanyalah file tata letak yang akan Anda gunakan untuk menjelajahi warna dan teks di Android.
Layar ketiga adalah pencari GDG. GDG, atau Google Developer Group, adalah komunitas developer yang berfokus pada teknologi Google, termasuk Android. GDG di seluruh dunia menyelenggarakan pertemuan, konferensi, study jam, dan acara lainnya.
Saat mengembangkan aplikasi ini, Anda akan mengerjakan daftar GDG yang sebenarnya. Layar pencari menggunakan lokasi perangkat untuk mengurutkan GDG berdasarkan jarak.
Jika beruntung dan ada GDG di wilayah Anda, Anda dapat membuka situsnya dan mendaftar ke acara mereka. Acara GDG adalah cara yang tepat untuk bertemu dengan developer Android lain dan mempelajari praktik terbaik industri yang tidak termasuk dalam kursus ini.
Screenshot di bawah menunjukkan perubahan aplikasi Anda dari awal hingga akhir codelab ini.
|
|
Android menyediakan berbagai sistem gaya visual yang memungkinkan Anda mengontrol profil semua tampilan di aplikasi. Anda dapat menggunakan tema, gaya, dan atribut tampilan untuk memengaruhi gaya. Diagram yang ditampilkan di bawah merangkum prioritas setiap metode gaya visual. Diagram piramida menunjukkan urutan penerapan metode gaya visual oleh sistem, mulai dari bawah hingga atas. Misalnya, jika Anda menetapkan ukuran teks dalam tema, lalu menetapkan ukuran teks secara berbeda dalam atribut tampilan, atribut tampilan akan menggantikan gaya tema.

Atribut tampilan
- Gunakan atribut tampilan untuk menetapkan atribut secara eksplisit untuk setiap tampilan. (Atribut tampilan tidak dapat digunakan kembali, seperti gaya.)
- Anda dapat menggunakan setiap properti yang dapat diatur melalui gaya atau tema.
Gunakan untuk desain khusus atau sekali pakai seperti margin, padding, atau batasan.
Gaya
- Gunakan gaya untuk membuat kumpulan informasi gaya visual yang dapat digunakan kembali, seperti ukuran font atau warna.
- Mendeklarasikan sekumpulan kecil desain umum yang digunakan di seluruh aplikasi Anda adalah hal yang baik.
Menerapkan gaya ke beberapa tampilan, menggantikan gaya default. Misalnya, gunakan gaya untuk membuat header atau kumpulan tombol yang ditata secara konsisten.
Gaya default
- Ini adalah gaya default yang disediakan oleh sistem Android.
Tema
- Gunakan tema untuk menentukan warna seluruh aplikasi Anda.
- Gunakan tema untuk menyetel font default untuk seluruh aplikasi.
- Diterapkan ke semua tampilan, seperti tampilan teks atau tombol pilihan.
- Gunakan untuk mengonfigurasi properti yang dapat Anda terapkan secara konsisten untuk seluruh aplikasi.
TextAppearance
- Untuk gaya visual dengan atribut teks saja, seperti
fontFamily.
Saat menata gaya tampilan, Android menerapkan kombinasi tema, gaya, dan atribut, yang dapat Anda sesuaikan. Atribut selalu menimpa apa pun yang ditentukan dalam gaya atau tema. Dan gaya selalu menimpa apa pun yang ditentukan dalam sebuah tema.
Screenshot di bawah menampilkan aplikasi pencari GDG dengan tema terang (kiri) dan tema gelap (kanan), serta dengan font dan ukuran header kustom. Hal ini dapat diterapkan dengan beberapa cara, dan Anda akan mempelajari beberapa cara tersebut dalam codelab ini.
|
|
Dalam tugas ini, Anda akan menggunakan atribut untuk menata gaya header teks dalam tata letak aplikasi.
- Download dan jalankan aplikasi awal GDG-finder.
- Perhatikan bahwa layar utama memiliki banyak teks yang diformat secara seragam, sehingga sulit untuk mengetahui isi halaman dan apa yang penting.
- Buka file tata letak
home_fragment.xml. - Perhatikan bahwa tata letak menggunakan
ConstraintLayoutuntuk memosisikan elemen di dalamScrollView. - Perhatikan bahwa untuk setiap tampilan, atribut tata letak batasan dan margin ditetapkan dalam tampilan, karena atribut ini cenderung disesuaikan untuk setiap tampilan dan layar.
- Di tampilan teks
title, tambahkan atributtextSizeuntuk mengubah ukuran teks menjadi24sp.
Sebagai pengingat,spadalah singkatan dari piksel skala mandiri, yang diskalakan oleh kepadatan piksel dan preferensi ukuran font yang ditetapkan pengguna di setelan perangkatnya. Android menentukan seberapa besar teks harus ditampilkan di layar saat menggambar teks. Selalu gunakanspuntuk ukuran teks.
<TextView
android:id="@+id/title"
...
android:textSize="24sp"- Tetapkan
textColortampilan tekstitleke abu-abu buram, dengan menyetelnya ke nilai aRGB#FF555555.
<TextView
android:id="@+id/title"
...
android:textColor="#FF555555"- Untuk membuka tab Preview di Android Studio, pilih View > Tool Windows > Preview, atau klik tombol Preview vertikal di tepi kanan Layout Editor. Di pratinjau, pastikan judul berwarna abu-abu dan lebih besar dari sebelumnya, seperti yang ditunjukkan di bawah.

- Gaya subtitel agar memiliki warna yang sama dengan header, dengan font yang lebih kecil,
18sp. (Alpha default adalahFF, buram. Anda dapat menghilangkan nilai alfa jika tidak mengubahnya.)
<TextView
android:id="@+id/subtitle"
...
android:textSize="18sp"
android:textColor="#555555"
- Dalam codelab ini, tujuannya adalah menata gaya aplikasi agar terlihat sedikit unik sekaligus profesional, tetapi Anda dapat menatanya sesuai keinginan. Coba atribut berikut untuk tampilan teks
subtitle. Gunakan tab Pratinjau untuk melihat perubahan tampilan aplikasi Anda. Kemudian, hapus atribut ini.
<TextView
android:id="@+id/subtitle"
...
android:textAllCaps="true"
android:textStyle="bold"
android:background="#ff9999"- Jangan lupa untuk mengurungkan atribut
textAllCaps,textStyle, danbackgrounddari tampilansubtitlesebelum Anda melanjutkan. - Jalankan aplikasi Anda, dan aplikasi akan terlihat lebih baik.

Saat menggunakan font dengan aplikasi, Anda dapat mengirimkan file font yang diperlukan sebagai bagian dari APK. Meskipun sederhana, solusi ini biasanya tidak direkomendasikan, karena membuat aplikasi Anda memerlukan waktu lebih lama untuk didownload dan diinstal.
Android memungkinkan aplikasi mendownload font saat runtime menggunakan API Font yang Dapat Didownload. Jika aplikasi Anda menggunakan font yang sama dengan aplikasi lain di perangkat, Android hanya mendownload font satu kali, sehingga menghemat ruang penyimpanan perangkat.
Dalam tugas ini, Anda menggunakan font yang dapat didownload untuk menyetel font setiap tampilan di aplikasi yang menggunakan tema.
Langkah 1: Terapkan font yang dapat didownload
- Buka
home_fragment.xmldi tab Design. - Di panel Component Tree, pilih tampilan teks
title. - Di panel Attributes, temukan atribut
fontFamily. Anda dapat menemukannya di bagian Semua Atribut, atau Anda dapat menelusurinya. - Klik panah drop-down.
- Scroll ke Font Lainnya , lalu pilih. Jendela Resources akan terbuka.

- Di jendela Resources, telusuri
lobster, atau hanyalo. - Pada hasil, pilih Lobster Two.
- Di sebelah kanan, di bawah nama font, pilih tombol pilihan Buat font yang dapat didownload. Klik Oke.
- Buka file Manifes Android.
- Di dekat bagian bawah manifes, temukan tag
<meta-data>baru dengan atributnamedanresourceyang ditetapkan ke"preloaded_fonts". Tag ini memberi tahu Layanan Google Play bahwa aplikasi ini ingin menggunakan font yang didownload. Saat aplikasi Anda berjalan dan meminta font Lobster Two, penyedia font akan mendownload font dari internet, jika font belum tersedia di perangkat.
<meta-data android:name="preloaded_fonts" android:resource="@array/preloaded_fonts"/>- Di folder
res/values, temukan filepreloaded_fonts.xml, yang menentukan array yang mencantumkan semua font yang dapat didownload untuk aplikasi ini. - Demikian pula, file
res/fonts/lobster_two.xmlmemiliki informasi tentang font. - Buka
home_fragment.xmldan perhatikan di kode dan pratinjau bahwa font Lobster Two diterapkan ketitleTextView, sehingga diterapkan ke judul.

- Buka
res/values/styles.xmldan periksa temaAppThemedefault yang dibuat untuk project. Saat ini tampilannya seperti yang ditunjukkan di bawah. Untuk menerapkan font Lobster Two baru ke semua teks, Anda harus memperbarui tema ini. - Di tag
<style>, perhatikan atributparent. Setiap tag gaya dapat menentukan induk dan mewarisi semua atribut induk. Kode menentukanThemeyang ditentukan oleh library Android. TemaMaterialComponentsyang menentukan semuanya, mulai dari cara kerja tombol hingga cara menggambar toolbar. Tema ini memiliki nilai default yang masuk akal, sehingga Anda dapat menyesuaikan bagian yang diinginkan saja. Aplikasi menggunakan tema versiLighttanpa panel tindakan (NoActionBar), seperti yang dapat Anda lihat pada screenshot di atas.
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>- Di dalam gaya
AppTheme, tetapkan jenis font kelobster_two. Anda harus menetapkanandroid:fontFamilydanfontFamily, karena tema induk menggunakan keduanya. Anda dapat memeriksahome_fragment.xmldi tab Desain untuk melihat pratinjau perubahan.
<style name="AppTheme"
...
<item name="android:fontFamily">@font/lobster_two</item>
<item name="fontFamily">@font/lobster_two</item>- Jalankan kembali aplikasi. Font baru diterapkan ke semua teks. Buka panel navigasi dan pindah ke layar lain, dan Anda akan melihat bahwa font juga diterapkan di sana.
| |
|
|
Langkah 2: Terapkan tema ke judul
- Di
home_fragment.xml, temukan tampilan tekstitle, yang memiliki atribut untuk fontlobster_two. Hapus atributfontFamilydan jalankan aplikasi. Karena tema menetapkan jenis font yang sama, tidak ada perubahan. - Masukkan kembali atribut
fontFamilyyang berbeda ke tampilan tekstitle:app:fontFamily="serif-monospace"Pastikan atribut tersebut berada di ruangapp.
<TextView
android:id="@+id/title"
...
app:fontFamily="serif-monospace"- Jalankan aplikasi, dan Anda akan melihat bahwa atribut yang bersifat lokal untuk tampilan menggantikan tema.

- Hapus atribut
fontFamilydari tampilan tekstitle.
Tema sangat cocok untuk menerapkan tema umum ke aplikasi Anda, seperti font default dan warna primer. Atribut sangat berguna untuk menata gaya visual tampilan tertentu dan menambahkan informasi tata letak seperti margin, padding, dan batasan, yang cenderung spesifik untuk setiap layar.
Di tengah piramida hierarki gaya terdapat gaya. Gaya adalah "grup" atribut yang dapat digunakan kembali yang dapat Anda terapkan ke tampilan pilihan Anda. Dalam tugas ini, Anda akan menggunakan gaya untuk judul dan subjudul.
Langkah 1: Buat gaya
- Buka
res/values/styles.xml. - Di dalam tag
<resources>, tentukan gaya baru menggunakan tag<style>, seperti yang ditunjukkan di bawah.
<style name="TextAppearance.Title" parent="TextAppearance.MaterialComponents.Headline6">
</style>Penting untuk memikirkan nama gaya sebagai semantik saat Anda menamainya. Pilih nama gaya berdasarkan tujuan penggunaan gaya, bukan berdasarkan properti yang dipengaruhi gaya. Misalnya, sebut gaya ini Title, bukan LargeFontInGrey. Gaya ini akan digunakan oleh judul apa pun di mana pun di aplikasi Anda. Sebagai konvensi, gaya TextAppearance disebut TextAppearance.Name, jadi dalam hal ini, namanya adalah TextAppearance.Title.
Gaya memiliki induk, sama seperti tema yang dapat memiliki induk. Namun, kali ini, bukan memperluas tema, gaya memperluas gaya, TextAppearance.MaterialComponents.Headline6. Gaya ini adalah gaya teks default untuk tema MaterialComponents, jadi dengan memperluasnya, Anda mengubah gaya default, bukan memulai dari awal.
- Di dalam gaya baru, tentukan dua item. Dalam satu item, tetapkan
textSizeke24sp. Pada item lainnya, tetapkantextColorke abu-abu gelap yang sama seperti sebelumnya.
<item name="android:textSize">24sp</item>
<item name="android:textColor">#555555</item>- Tentukan gaya lain untuk subtitel. Beri nama
TextAppearance.Subtitle. - Karena satu-satunya perbedaan dari
TextAppearance.Titleadalah ukuran teks, jadikan gaya ini sebagai turunan dariTextAppearance.Title. - Dalam gaya
Subtitle, tetapkan ukuran teks ke18sp. Berikut gaya yang telah selesai:
<style name="TextAppearance.Subtitle" parent="TextAppearance.Title" >
<item name="android:textSize">18sp</item>
</style>Langkah 2: Terapkan gaya yang Anda buat
- Di
home_fragment.xml, tambahkanTextAppearance.gayaTitleke tampilan tekstitle. Hapus atributtextSizedantextColor.
Tema menggantikan gayaTextAppearanceyang Anda tetapkan.
(Diagram piramida di awal codelab menunjukkan urutan penerapan gaya visual.) Gunakan propertitextAppearanceuntuk menerapkan gaya sebagaiTextAppearancesehingga font yang ditetapkan dalamThememenggantikan apa yang Anda tetapkan di sini.
<TextView
android:id="@+id/title"
android:textAppearance="@style/TextAppearance.Title"- Tambahkan juga gaya
TextAppearance.Subtitleke tampilan tekssubtitle, dan hapus atributtextSizedantextColor. Anda juga harus menerapkan gaya ini sebagaitextAppearance, sehingga set font dalam tema menggantikan apa yang Anda tetapkan di sini.
<TextView
android:id="@+id/subtitle"
android:textAppearance="@style/TextAppearance.Subtitle"- Jalankan aplikasi dan teks Anda kini memiliki gaya yang konsisten.

Project Android Studio: GDGFinderStyles.
- Gunakan tema, gaya, dan atribut pada tampilan untuk mengubah tampilan visual.
- Tema memengaruhi gaya seluruh aplikasi Anda dan dilengkapi dengan banyak nilai preset untuk warna, font, dan ukuran font.
- Atribut berlaku untuk tampilan tempat atribut ditetapkan. Gunakan atribut jika Anda memiliki gaya visual yang hanya berlaku untuk satu tampilan, seperti padding, margin, dan batasan.
- Gaya adalah grup atribut yang dapat digunakan oleh beberapa tampilan. Misalnya, Anda dapat memiliki gaya untuk semua header konten, tombol, atau tampilan teks.
- Tema dan gaya mewarisi dari tema atau gaya induknya. Anda dapat membuat hierarki gaya.
- Nilai atribut (yang ditetapkan dalam tampilan) menggantikan gaya. Gaya menggantikan gaya default. Gaya menggantikan tema. Tema menggantikan gaya apa pun yang ditetapkan oleh properti
textAppearance.

- Tentukan gaya dalam file resource
styles.xmlmenggunakan tag<style>dan<item>.
<style name="TextAppearance.Subtitle" parent="TextAppearance.Title" >
<item name="android:textSize">18sp</item>
</style>Dengan menggunakan font yang dapat didownload, font tersedia bagi pengguna tanpa menambah ukuran APK Anda. Untuk menambahkan font yang dapat didownload untuk tampilan:
- Pilih tampilan di tab Desain, lalu pilih Font lainnya dari menu drop-down atribut
fontFamily. - Pada dialog Resources, temukan font, lalu pilih tombol pilihan Create downloadable font.
- Pastikan manifes Android menyertakan tag meta-data untuk font yang sudah dimuat sebelumnya.
Saat aplikasi pertama kali meminta font, dan font belum tersedia, penyedia font akan mendownloadnya dari internet.
Dokumentasi developer Android:
- Gaya dan Tema
- Font yang Dapat Didownload
- Font dalam XML
- Memahami sp
- Atribut
TextView - Resource gaya
- Tema
MaterialComponents
Referensi lainnya:
- Tampilan teks Anda
- Heksadesimal
- Mengembangkan Aplikasi Android dengan Kotlin (kursus Udacity)
- Kotlin Bootcamp for Programmers (kursus Udacity)
- Codelab Bootcamp Kotlin untuk Pemrogram
Bagian ini mencantumkan kemungkinan tugas pekerjaan rumah untuk siswa yang mengerjakan codelab ini sebagai bagian dari kursus yang dipimpin oleh instruktur. Instruktur menentukan hal berikut:
- Memberikan pekerjaan rumah jika diperlukan.
- Memberi tahu siswa cara mengirimkan tugas pekerjaan rumah.
- Memberi nilai tugas pekerjaan rumah.
Instruktur bisa menggunakan saran ini sesuai kebutuhan, dan bebas menugaskan pekerjaan rumah lain yang dirasa cocok.
Jika Anda menyelesaikan codelab ini sendiri, gunakan tugas pekerjaan rumah ini untuk menguji pengetahuan Anda.
Jawab pertanyaan-pertanyaan berikut
Pertanyaan 1
Tag mana yang digunakan untuk menentukan tema?
▢ <style>
▢ <theme>
▢ <meta-tag>
▢ <styling>
Pertanyaan 2
Manakah dari hal berikut yang BUKAN merupakan penggunaan gaya yang baik?
▢ Tentukan batasan tampilan.
▢ Tentukan warna latar belakang judul.
▢ Satukan ukuran font di seluruh tampilan.
▢ Tentukan warna teks untuk sekelompok tampilan.
Pertanyaan 3
Apa perbedaan antara tema dan gaya?
▢ Tema berlaku untuk seluruh aplikasi, sementara Anda dapat menerapkan gaya ke tampilan tertentu.
▢ Tema tidak dapat mewarisi dari tema lain, tetapi gaya dapat mewarisi dari gaya lain.
▢ Gaya tidak dapat mewarisi dari gaya lain, tetapi tema dapat mewarisi dari tema lain.
▢ Tema disediakan oleh sistem Android, sementara gaya ditentukan oleh developer.
Pertanyaan 4
Jika TextView di aplikasi Anda memiliki Theme yang menyetel ukuran font ke 12sp, gaya yang ditentukan yang menyetelnya ke 14sp, dan atribut fontSize 16sp, berapa ukuran font yang ditampilkan di layar?
▢ 12sp
▢ 14sp
▢ 16sp
▢ 18sp
Mulai pelajaran berikutnya:
Untuk link ke codelab lain dalam kursus ini, lihat halaman landing codelab Dasar-Dasar Android Kotlin.






