Dasar-Dasar Android Kotlin 10.1: Gaya dan tema

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.

  1. Download dan jalankan aplikasi awal GDG-finder.
  2. Perhatikan bahwa layar utama memiliki banyak teks yang diformat secara seragam, sehingga sulit untuk mengetahui isi halaman dan apa yang penting.
  3. Buka file tata letak home_fragment.xml.
  4. Perhatikan bahwa tata letak menggunakan ConstraintLayout untuk memosisikan elemen di dalam ScrollView.
  5. Perhatikan bahwa untuk setiap tampilan, atribut tata letak batasan dan margin ditetapkan dalam tampilan, karena atribut ini cenderung disesuaikan untuk setiap tampilan dan layar.
  6. Di tampilan teks title, tambahkan atribut textSize untuk mengubah ukuran teks menjadi 24sp.

    Sebagai pengingat, sp adalah 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 gunakan sp untuk ukuran teks.
<TextView
       android:id="@+id/title"
...

android:textSize="24sp"
  1. Tetapkan textColor tampilan teks title ke abu-abu buram, dengan menyetelnya ke nilai aRGB #FF555555.
<TextView
       android:id="@+id/title"
...

android:textColor="#FF555555"
  1. 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.

  1. Gaya subtitel agar memiliki warna yang sama dengan header, dengan font yang lebih kecil, 18sp. (Alpha default adalah FF, buram. Anda dapat menghilangkan nilai alfa jika tidak mengubahnya.)
<TextView
       android:id="@+id/subtitle"
...
android:textSize="18sp"
android:textColor="#555555"

  1. 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"
  1. Jangan lupa untuk mengurungkan atribut textAllCaps, textStyle, dan background dari tampilan subtitle sebelum Anda melanjutkan.
  2. 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

  1. Buka home_fragment.xml di tab Design.
  2. Di panel Component Tree, pilih tampilan teks title.
  3. Di panel Attributes, temukan atribut fontFamily. Anda dapat menemukannya di bagian Semua Atribut, atau Anda dapat menelusurinya.
  4. Klik panah drop-down.
  5. Scroll ke Font Lainnya , lalu pilih. Jendela Resources akan terbuka.

  1. Di jendela Resources, telusuri lobster, atau hanya lo.
  2. Pada hasil, pilih Lobster Two.
  3. Di sebelah kanan, di bawah nama font, pilih tombol pilihan Buat font yang dapat didownload. Klik Oke.
  4. Buka file Manifes Android.
  5. Di dekat bagian bawah manifes, temukan tag <meta-data> baru dengan atribut name dan resource yang 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"/>
  1. Di folder res/values, temukan file preloaded_fonts.xml, yang menentukan array yang mencantumkan semua font yang dapat didownload untuk aplikasi ini.
  2. Demikian pula, file res/fonts/lobster_two.xml memiliki informasi tentang font.
  3. Buka home_fragment.xml dan perhatikan di kode dan pratinjau bahwa font Lobster Two diterapkan ke title TextView, sehingga diterapkan ke judul.

  1. Buka res/values/styles.xml dan periksa tema AppTheme default 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.
  2. Di tag <style>, perhatikan atribut parent. Setiap tag gaya dapat menentukan induk dan mewarisi semua atribut induk. Kode menentukan Theme yang ditentukan oleh library Android. Tema MaterialComponents yang 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 versi Light tanpa 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>
  1. Di dalam gaya AppTheme, tetapkan jenis font ke lobster_two. Anda harus menetapkan android:fontFamily dan fontFamily, karena tema induk menggunakan keduanya. Anda dapat memeriksa home_fragment.xml di tab Desain untuk melihat pratinjau perubahan.
<style name="AppTheme"  
...    
        <item name="android:fontFamily">@font/lobster_two</item>
        <item name="fontFamily">@font/lobster_two</item>
  1. 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

  1. Di home_fragment.xml, temukan tampilan teks title, yang memiliki atribut untuk font lobster_two. Hapus atribut fontFamily dan jalankan aplikasi. Karena tema menetapkan jenis font yang sama, tidak ada perubahan.
  2. Masukkan kembali atribut fontFamily yang berbeda ke tampilan teks title:
    app:fontFamily="serif-monospace"
    Pastikan atribut tersebut berada di ruang app.
<TextView
       android:id="@+id/title"
       ...
       app:fontFamily="serif-monospace"
  1. Jalankan aplikasi, dan Anda akan melihat bahwa atribut yang bersifat lokal untuk tampilan menggantikan tema.
  1. Hapus atribut fontFamily dari tampilan teks title.

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

  1. Buka res/values/styles.xml.
  2. 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.

  1. Di dalam gaya baru, tentukan dua item. Dalam satu item, tetapkan textSize ke 24sp. Pada item lainnya, tetapkan textColor ke abu-abu gelap yang sama seperti sebelumnya.
 <item name="android:textSize">24sp</item>
 <item name="android:textColor">#555555</item>
  1. Tentukan gaya lain untuk subtitel. Beri nama TextAppearance.Subtitle.
  2. Karena satu-satunya perbedaan dari TextAppearance.Title adalah ukuran teks, jadikan gaya ini sebagai turunan dari TextAppearance.Title.
  3. Dalam gaya Subtitle, tetapkan ukuran teks ke 18sp. 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

  1. Di home_fragment.xml, tambahkan TextAppearance.gaya Title ke tampilan teks title. Hapus atribut textSize dan textColor.
    Tema menggantikan gaya TextAppearance yang Anda tetapkan.
    (Diagram piramida di awal codelab menunjukkan urutan penerapan gaya visual.) Gunakan properti textAppearance untuk menerapkan gaya sebagai TextAppearance sehingga font yang ditetapkan dalam Theme menggantikan apa yang Anda tetapkan di sini.
<TextView
       android:id="@+id/title"
       android:textAppearance="@style/TextAppearance.Title"
  1. Tambahkan juga gaya TextAppearance.Subtitle ke tampilan teks subtitle, dan hapus atribut textSize dan textColor. Anda juga harus menerapkan gaya ini sebagai textAppearance, sehingga set font dalam tema menggantikan apa yang Anda tetapkan di sini.
<TextView
       android:id="@+id/subtitle"
       android:textAppearance="@style/TextAppearance.Subtitle"
  1. 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.xml menggunakan 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:

  1. Pilih tampilan di tab Desain, lalu pilih Font lainnya dari menu drop-down atribut fontFamily.
  2. Pada dialog Resources, temukan font, lalu pilih tombol pilihan Create downloadable font.
  3. 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:

Referensi lainnya:

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: 10.2: Desain Material, dimensi, dan warna

Untuk link ke codelab lain dalam kursus ini, lihat halaman landing codelab Dasar-Dasar Android Kotlin.