Video: Advanced Data Binding - Google I/O 2016 2024
Kadang kala, jika anda membuka kod di editor Android Studio dan tuding tetikus ke atas kata-kata tertentu, anda akan mendapat kejutan yang menarik. Android Studio memberitahu anda bahawa anda boleh menggantikan kelas dalaman tanpa nama dengan ungkapan lambda.
Anda boleh membuat ungkapan lambda.Baiklah. Apa ungkapan lambda? Sebagai permulaan, lambda adalah huruf dalam abjad Yunani, dan istilah ungkapan lambda berasal dari makalah yang ditulis pada tahun 1930 oleh ahli matematik Alonzo Church.
Pada tahun 2013, Oracle mengeluarkan Java 8, menambahkan ekspresi lambda kepada bahasa Jawa. Dan pada tahun 2016, Google membuat ciri-ciri Java 8 yang tersedia untuk pemaju Android.
Apakah ungkapan lambda betul? Satu ungkapan lambda adalah cara ringkas untuk mengisytiharkan antara muka yang mengandungi hanya satu kaedah. Sebagai contoh,
tanpa nama
hanya mempunyai satu kaedah, iaitu kaedah
onClick
. Jadi anda boleh menggantikan ini tanpa nama
OnClickListener
dengan ungkapan lambda.
Jika anda membalas mesej dengan menekan Alt + Enter, Android Studio menawarkan pilihan Ganti dengan Lambda. Jika anda menerima pilihan ini, Android Studio akan mengubah kod anda ke perkara ini. Pake pakej
. allmycode. a11_05;
import android. os. Bundle;
import android. sokongan. v7. aplikasi. AppCompatActivity;
import android. widget. Butang;
import android. widget. TextView;
MainActivity kelas awam meluaskan AppCompatActivity {
Butang butang;
TextView textView;
@Orrride
tidak sah dilindungi padaCreate (Bundle savedInstanceState) {
super. onCreate (savedInstanceState);
setContentView (susun atur Reka bentuk. Activity_main); Butang
= (Butang) findViewById (butang R id); Butang
. setOnClickListener (view -> textView. setText (R string. you_clicked) );
textView = (TextView) findViewById (R teks id id);
}
}
Kod ini menggunakan ungkapan lambda. Imej menggambarkan peralihan dari kelas yang menerapkan antara satu kaedah dengan ekspresi lambda.
Menghidupkan antara muka ke dalam ekspresi lambda.Perhatikan peranan ringan perkataan
view
. Apabila anda mengisytiharkan kaedah
onClick
, anda memberikan kaedah parameter
Lihat
walaupun kenyataan di dalam kaedah tidak menggunakan parameter itu. Dengan cara yang sama, apabila anda membuat ungkapan lambda untuk kaedah
onClick
, anda mendahului simbol
->
dengan nama parameter, walaupun anda tidak menggunakan nama parameter itu kiri simbol
->
.
Untuk menggunakan ungkapan lambda, anda mesti memenuhi keperluan tertentu. Sebagai contoh, anda mesti menyusun kod anda dengan Java 8 atau lebih tinggi. Versi Android Android anda mestilah 2. 1 atau lebih tinggi. Dan projek anda
bina. grader
fail mesti mengandungi kod berikut:
android {
…
defaultConfig {
…
jackOptions { …
}
Ungkapan lambda mungkin mempunyai lebih daripada satu parameter di sebelah kiri simbol
->
. Sekiranya ia berlaku, anda mesti menyertakan semua parameter dalam kurungan dan memisahkan parameter antara satu sama lain dengan koma. Sebagai contoh, ungkapan
(price1, price2) -> price1 + price2
adalah ungkapan lambda yang sah.
Jika anda selesa dengan ungkapan lambda, anda boleh membuat kod anda lebih mudah dibaca. Apa yang bermula kira-kira sepuluh baris kod dengan mudah boleh menjadi hanya sebahagian daripada garisan.