Menggunakan Lambda Expression Di Android Studio 3.0.1
Artikel kali ini akan membahas mengenai Lambda Expression (LE) di Java 8. LE adalah fitur baru di Java versi 8, memungkinkan kita membuat sebuah fungsi di Java tanpa perlu membuat Class lebih dulu untuk menampung fungsi tersebut. LE dapat digunakan seperti sebuah object, dan bisa dipanggil sesuka hati.
Contoh simpelnya sebagai berikut. Jika ada sebuah interface seperti ini:
Maka biasanya kita mengimplementasikan interface tersebut seperti ini:
Contoh simpelnya sebagai berikut. Jika ada sebuah interface seperti ini:
public interface OnClickListener { public void onClick(View v); }
Button button = new Button(); button.addOnClickListener(new OnClickListener() { public void onClick(View v) { // melakukan sesuatu ketika Button ini di-klik } });
Fungsi tersebut di atas pasti sangat familiar dengan programmer yang biasa membuat
aplikasi android. OnClickListener seperti barusan, menggunakan Java versi 7. Nah, di versi 8,
kita bisa mempersingkat implementasi OnClickListener dengan menggunakan Lambda.
Implementasinya akan jadi seperti ini:
Button button = new Button();
button.addOnClickListener((View v) -> {
// melakukan sesuatu ketika Button ini di-klik
});
Hemat beberapa baris. He3.. . Yang dimaksud LE adalah tulisan yang bercetak tebal dan
berwarna biru di atas.
Bayangkan kalau aplikasi kita sudah punya puluhan bahkan ratusan OnClickListener. LE akan membuat kodingan kita lebih ringkas & mudah untuk dibaca. Sekarang, bagaimana mengimplementasikan LE di Android Studio 3.0.1? Seperti biasa, kita akan membuat project baru. Di artikel ini, nama projectnya adalah: Coba Lambda, company
domain seperti biasa pakai: pintar-android.com. kita pakai android API 15, dan kita membuat
sebuah Empty Activity.
Untuk mempersingkat artikel, penulis tidak akan menerangkan
cara membuat project baru. Sudah pada pintar-pintar semua kan? He3.. kalau ada yang belum
bisa membuat project baru, bisa melihat artikel2 pintar-android.com sebelumnya, misalnya
https://pintarandroid101.blogspot.co.id/2018/02/mari-mulai-belajar-kotlin.html .
Setelah project tersebut dibuat, ikuti langkah2 di gambar berikut ini.
Setelah itu, modifikasi activity_main.xml menjadi seperti berikut ini:
<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.pintar_android.cobalambda.MainActivity">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toTopOf="@+id/button2"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView"/>
</android.support.constraint.ConstraintLayout>
Dan di MainActivity.java, perlu ditambahkan beberapa baris seperti berikut ini:
package com.pintar_android.cobalambda;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
Button button;
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View view) {
Toast.makeText(MainActivity.this, "Button telah ditekan!"
, Toast.LENGTH_SHORT).show(); }
});
}
}
Mirip seperti di contoh di awal artikel, bukan? Coba amati, fungsi OnClickListener berwarna
abu2. Kalau mouse diarahkan ke fungsi tersebut, akan ada peringatan seperti gambar berikut
ini.
Artinya, fungsi tersebut bisa digantikan dengan lambda. Caranya, tekan Alt+Enter pada
keyboard, lalu tekan Enter ketika "Replace with lambda" tersorot seperti ini.
Hasilnya seperti berikut ini.
Menghemat beberapa baris, dan kodingan kita menjadi lebih ringkas! Terimakasih,
Lambda Expression :DDemikian artikel pintar-android.com mengenai Lambda expression, semoga bermanfaat. Like page pintar-android.com di FB untuk mendapatkan artikel2 yang pastinya berguna di dunia pemrograman khususnya android.Tersedia buku-buku untuk belajar pemrograman Android.buku pertama, menginstall Android Studio: https://play.google.com/store/books/details?id=EOufCwAAQBAJ . Buku fisik di https://www.tokopedia.com/buku-meidika/koding-android-untuk-pemula-buku-pertamabuku kedua, membuat recyclerview yang menampilkan gambar2 dari internet menggunakan json: https://play.google.com/store/books/details?id=b-boDAAAQBAJ . Buku fisik di https://www.tokopedia.com/buku-meidika/koding-android-untuk-pemula-buku-2buku registrasi user, membuat fitur login & register: https://play.google.com/store/books/details?id=FHMqDwAAQBAJkalau sudah beli, bisa dilihat di hape pake app google books, bisa dilihat di browser (misal chrome) di books.google.com -> My Library .
Tersedia juga DVD Android Studio 3.0.1 di tokopedia:
https://www.tokopedia.com/buku-meidika/dvd-android-studio-3-0-jdk-32-bit-64-bit
Komentar
Posting Komentar