Video: Advanced Data Binding - Google I/O 2016 2024
Terkadang, jika Anda membuka kode di editor Android Studio dan mengarahkan mouse ke kata-kata tertentu, Anda mendapatkan kejutan yang menarik. Android Studio memberitahu Anda bahwa Anda dapat mengganti kelas batin anonim dengan ekspresi lambda.
Anda bisa membuat ekspresi lambda.Oke Apa itu ekspresi lambda? Sebagai permulaan, lambda adalah sebuah huruf dalam alfabet Yunani, dan istilah ekspresi lambda berasal dari makalah yang ditulis pada tahun 1930 oleh ahli matematika Alonzo Church.
Pada tahun 2013, Oracle merilis Java 8, menambahkan ekspresi lambda ke bahasa Jawa. Dan pada tahun 2016, Google membuat fitur Java 8 yang tersedia untuk pengembang Android.
Apa itu ekspresi lambda? A ekspresi lambda adalah cara ringkas untuk menyatakan sebuah antarmuka yang hanya berisi satu metode. Misalnya, anonim
OnClickListener
hanya memiliki satu metode, yaitu metode
onClick
. Jadi Anda bisa mengganti anonim
OnClickListener
ini dengan ekspresi lambda.
Jika Anda merespons pesan dengan menekan Alt + Enter, Android Studio menawarkan opsi Ganti dengan Lambda. Jika Anda menerima opsi ini, Android Studio mengubah kode Anda menjadi barang ini.
paket com allmycode a11_05;
impor android os. Bundel;
impor android mendukung. v7. aplikasi. AppCompatActivity;
impor android widget. Tombol;
impor android widget. TextView;
public class MainActivity memperluas tombol Button AppCompatActivity {
;
TextView textView;
@Override
protected void onCreate (Bundle savedInstanceState) {
super. onCreate (savedInstanceState);
setContentView (tata letak R. Aktivitas_main);
button = (Tombol) findViewById (tombol R. Id);
tombol setOnClickListener (view -> textView. setText (R. string you_clicked) );
textView = (TextView) findViewById (R. Id. TeksView);
}
}
Kode ini menggunakan ekspresi lambda. Gambar menggambarkan transisi dari kelas yang mengimplementasikan antarmuka satu metode ke ekspresi lambda.
Mengubah sebuah antarmuka menjadi ekspresi lambda.Perhatikan peran ringan dari kata
view
. Ketika Anda mendeklarasikan metode
onClick
, Anda memberi metode parameter tipe
View
meskipun pernyataan di dalam metode tidak menggunakan parameter itu. Dengan cara yang sama, saat Anda membuat ekspresi lambda untuk metode
onClick
, Anda memberi pengantar simbol
->
dengan nama parameter, meskipun Anda tidak menggunakan nama parameter itu untuk bagian kiri simbol
->
.
Untuk menggunakan ekspresi lambda, Anda harus memenuhi persyaratan tertentu. Misalnya, Anda harus mengkompilasi kode Anda dengan Java 8 atau lebih tinggi. Versi Android Studio Anda harus 2. 1 atau lebih tinggi. Dan bangunan
proyek Anda. kode
harus menyertakan kode berikut:
android {
…
defaultConfig {
…
jackOptions {
diaktifkan benar
}
}
…
}
Ekspresi lambda mungkin memiliki lebih dari satu parameter di sebelah kiri simbol
->
. Jika ya, Anda harus menyertakan semua parameter dalam tanda kurung dan memisahkan parameter satu sama lain dengan tanda koma. Misalnya, ungkapan
(price1, price2) -> price1 + price2
adalah ekspresi lambda yang valid.
Jika Anda merasa nyaman dengan ekspresi lambda, Anda dapat membuat kode Anda lebih mudah dibaca. Apa yang dimulai sekitar sepuluh baris kode dapat dengan mudah menjadi hanya bagian dari sebuah garis.