Setelah resmi di umumkan oleh Google pada Event Google I/O 2017, Kotlin menjadi Resmi menjadi bahasa kedua setelah Java untuk pemrograman di Android. Kotlin merupakan bahasa pemrograman yang didesain dapat berjalan di JVM. Bahasa pemrograman Kotlin dibangun oleh JetBrains.
Beberapa Kebolehan Kotlin
Berikut beberapa poin yang mendukung mengapa kotlin menjadi salah satu bahasa pemrograman yang modern dan dapat mengembangakan aplikasi Android, diantaranya:
- Kompatibel => Kotlin kompatibel dengan JDK 6, Kotlin support berjalan di Android Studio dan kompatibel dengan Sistem Android
- Performansi => dengan menggunakan lambdas pada kotlin menjadikan lebih cepat dengan kode yang ditulis pada java
- Interoperability => Support penggunaan library Android pada aplikasi kotlin. Anda juga dapat menggunakan kode dengan bahasa kotlin dan java secara bersamaan pada suatu project
- Easy Learning Curve => Seharusnya programmer yang sudah enakan bermain di Java Android tidak akan begitu kesulitan ketika berganti ke programmer kotlin, karena rada-rada mirip
Masing-masing bahasa pemrograman pasti memiliki berbagai kelebihan dan kekurangan, Kalo diintip dari Kotlin Android sendiri, salah satu kelemahannya adalah membengkak size .apk yang akan hasilkan oleh karena Standard Library Kotlin.
Getting Started / Install
Dokumentasi untuk beberapa pemrograman kotlin, tutorial dan forum dapat Anda temukan di url berikut.
https://developer.android.com/kotlin/get-started.html
https://mindorks.com/ ( Khusus bagian Kotlin)
Langkah pertama sebelum lebih jauh mengembangkan aplikasi Android dengan kotlin maka kita install terlebih dahulu Kotlin Android Extesion pada Android Studio.
- Download Android Studio Preview (https://developer.android.com/studio/preview/index.html), Jangan khawatir ini akan menggantikan Android Studio yang pernah Anda install, Ini dapat berjalan berbarengan dengan baik.
- Setelah Anda download dan Unzip
- Jalankan File exe Android Studio untuk versi laptop Anda 32 bit atau 64 bit.
Sample Login Activity dengan Kotlin
Sample case yang akan kita bangun untuk mulai programming dengan kotlin di Android adalah dengan menciptakan sebuah Activity Login.
- Create New Android Project dari Android Studio dengan nama FirstApp dan centang Include Kotlin support
- Select Minimum SDK (21) (Material Theme) , Next dan Pilih Empty Activity Finish
- Setelah Gradle selesai Build, maka akan tampil new project FirstApp pada Android Studio Anda
- Tambahkan library dependensi untuk Material Theme pada properties gradle
compile 'com.android.support:design:26.0.1'
- Hal yang sama akan kita lakukan ketika membuat Layout Login untuk Aplikasi Android dengan Java, yaitu pada bagian Res-> layout
- Ciptakan sebuah Layout Baru dengan nama Login.xml
- Ciptakan sebuah File/Class Activity baru Login.kt (Kotlin Class)
package com.coniolabs.firstapp import android.os.Bundle import android.support.v7.app.AppCompatActivity class LoginActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.login) } }
- Dengan menggunakan kotlin, Anda juga dapat menggunakan cara yang sama pada Java untuk declare objek pada layout dan dengan import main source set dengan bawaan plugin kotlin
1. Dengan menggunakan findViewBy IDvar email = findViewById<EditText>(R.id.input_email) as EditText
2. Dengan menggunakan Import dengan Kotlin Android Plugin
import kotlinx.android.synthetic.main.login.*
- Cara Set ActionListener
btn_login.setOnClickListener { login() }
Login adalah fungsi yang akan dijalankan
- Jalankan Script Code berikut pada File/Class LoginActivity.kt
package com.coniolabs.firstapp import android.os.Bundle import android.support.design.widget.Snackbar import android.support.v7.app.AppCompatActivity import android.widget.EditText /*Use Kotlin Android Plugin to Import Set Active Layout*/ import kotlinx.android.synthetic.main.login.* class LoginActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.login) btn_login.setOnClickListener { login() } } fun login(){ var email = findViewById(R.id.input_email) as EditText if(isValidCredential(email.text.toString(),input_password.text.toString())){ Snackbar.make(btn_login,"Success Login",Snackbar.LENGTH_LONG) .setAction("Action",null).show() }else{ Snackbar.make(btn_login,"Invalid Credential",Snackbar.LENGTH_LONG) .setAction("Action",null).show() } } fun isValidCredential(email: String, password:String): Boolean{ return (email == "developer@coniolabs.com" && password == "Android") } }
- Oh ya, jangan lupa daftarkan LoginActivity pada Manifest file ( AndroidManifest.xml)
- Run Project.
Yang terbiasa dengan Java Android dan menjelajah dikit ke Kotlin, tidak begitu asing kan ?
Your point of view caught my eye and was very interesting. Thanks. I have a question for you.
Thank you for your sharing. I am worried that I lack creative ideas. It is your article that makes me full of hope. Thank you. But, I have a question, can you help me?
Thanks for sharing. I read many of your blog posts, cool, your blog is very good.
These results suggest successful establishment of TRM 7 cells by long term tamoxifen exposure priligy uk A map showing the visa requirements of Pakistan, with countries in lawn green having business visa on arrival; and countries in turquoise having business or group tourist visa on arrival
Thanks for sharing. I read many of your blog posts, cool, your blog is very good.
Your point of view caught my eye and was very interesting. Thanks. I have a question for you.
Have you ever thought that it may be MY opinion that I do not agree that shit loads of HCG, Clomid or Arimidex should be taken priligy 30mg
Thank you for your sharing. I am worried that I lack creative ideas. It is your article that makes me full of hope. Thank you. But, I have a question, can you help me?
Thanks for sharing. I read many of your blog posts, cool, your blog is very good.
Moreover, both study groups had received a median volume of 1 can i order generic cytotec without rx
Your point of view caught my eye and was very interesting. Thanks. I have a question for you.