Belajar Anko Kotlin Bagian 1: Penggunaan Anko Commons

Yudi Setiawan 26 Februari 2018

Belajar Anko Kotlin Bagian 1: Penggunaan Anko Commons

Pendahuluan

Anko (Android Kotlin) adalah salah satu pustaka yang membuat Kotlin lebih mudah dan cepat dalam mengembangkan aplikasi Android. Menurut situs resminya di https://github.com/Kotlin/anko, Anko dideskripsikan sebagai berikut:

Anko is a Kotlin library which makes Android application development faster and easier. It makes your code clean and easy to read, and lets you forget about rough edges of the Android SDK for Java. Anko consists of several parts:

  1. Anko commons: a lightweight library full of helpers for intents, dialogs, logging and so on;
  2. Anko Layouts: a fast and type-safe way to write dynamic Android layouts;
  3. Anko SQLite: a query DSL and parser collection for Android SQLite;
  4. Anko coroutines: utilities based on the kotlinx.coroutines library.

Jadi berdasarkan kutipan diatas, bahwa Anko merupakan pustaka yang membantu proses pengembangan aplikasi Android menjadi lebih cepat dan mudah karena Anko membuat kode-kode program android menjadi lebih singkat dan mudah dibaca.

Pembagian Tutorial

Tutorial ini akan saya bagi menjadi 3 bagian (part) dimana, pembagian tutorialnya adalah sebagai berikut:

  1. Bagian 1: Penggunaan Anko Commons
  2. Bagian 2: Penggunaan Anko Layout
  3. Bagian 3: Penggunaan Anko SQLite

Anko Commons

Pada Anko Commons ada 3 hal yang akan saya bahas yaitu sebagai berikut:

  1. Intents
  2. Dialogs and toasts
  3. Logging

Output Project

Dalam tutorial ini, saya akan membuat contoh project yang menggunakan Anko Commons, dimana contoh aplikasinya adalah memiliki fitur login dan register. (Catatan: fitur login dan register di sini saya buat dalam bentuk hardcode jadi, tidak ada proses penggunaan database atau request API)

Pembuatan Project

Buka Android Studio, dan isi dengan keterangan projek seperti gambar berikut. Pembuatan Projek

Konfigurasi build.gradle

Setelah selesai buat projek kemudian, kita konfigurasi isi file build.gradle(project) dengan cara menambahkan extension version dari Kotlin, Anko, dan Android Support seperti berikut. build.gradle project

Kemudian, kita konfigurasi juga file build.gradle(App) menjadi seperti berikut. build.gradle app Kemudian, jangan lupa di-sync.

Ubah layout activity_main.xml

File activity_main.xml pada tutorial ini akan kita gunakan sebagai UI dari Login. Jadi, silakan ubah file layout activity_main.xml menjadi seperti berikut. activity_main.xml

Output dari layout activity_main.xml adalah seperti berikut. UI Login

Ubah MainActivity.kt

File MainActivity.kt akan kita gunakan sebagai activity dari UI Login. MainActivity.kt

Pada kode diatas, ada beberapa fungsi yang bisa Anda lihat penulisannya itu lebih singkat jika menggunakan Anko. Berikut keterangannya:

  1. Intent: Jika biasanya Anda menulis seperti ini Intent(this, NamaClass::class.java maka, dengan Anko syntax tersebut bisa lebih dipersingkat lagi sepert ini intentFor<NamaClass>(). Lalu bagaimana, jika ada penambahan flag dan putExtra. Maka, Anda bisa menuliskannya seperti berikut
startActivity(intentFor<RegisterActivity>("isSuccess" to true).clearTask())

dimana, pada kode diatas itu sama seperti berikut

val intent = Intent(this, RegisterActivity::class.java)
intent.putExtra("isSuccess", true)
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK)
startActivity(intent)
  1. AlertDialog: Di Anko, penulisan AlertDialog bisa menjadi lebih singkat lagi seperti yang Anda lihat pada kode diatas. Cukup pakai alert dan semuanya selesai
  2. Toast: Di Anko, untuk memunculkan toast ada dua cara yaitu, toast() untuk toast dengan duration Toast.LENGTH_SHORT dan longToast() untuk toast dengan duration Toast.LENGTH_LONG
  3. Logging: Di Anko, untuk melakukan logging itu bisa menjadi lebih mudah. Cukup dengan pakai syntax debug(), info(), warn(), error(), verbose(). Tapi, jangan lupa ya untuk di extends class-nya pakai AnkoLogger

activity_register.xml

Silakan buat satu activity baru dengan nama layout activity_register.xml dan file kotlin RegisterActivity.kt. Sekarang silakan ubah file activity_register.xml menjadi seperti berikut. activity_register.xml

Adapun output dari file activity_register.xml adalah seperti berikut. UI Register

Ubah RegisterActivity.kt

Silakan buka file RegisterActivity.kt dan isi dengan source code berikut. RegisterActivity.kt

Github

Semua bahan dan projek pada tutorial ini sudah di-upload di Github