Video: Supersection 1, More Comfortable 2024
Uneori, dacă deschideți codul în editorul Android Studio și plasați mouse-ul peste anumite cuvinte, veți obține o surpriză interesantă. Android Studio vă spune că puteți înlocui clasa anonimă interioară cu o expresie lambda.
Puteți crea o expresie lambda.Ok. Ce este expresia lambda? Pentru început, lambda este o literă în alfabetul grecesc, iar termenul expresia lambda provine din lucrările scrise în anii 1930 de către matematicianul Alonzo Church.
În 2013, Oracle a lansat Java 8, adăugând expresii lambda în limba Java. Și în 2016, Google a pus la dispoziția dezvoltatorilor Android caracteristici Java 8.
Ce este expresia lambda exact? O expresie lambda este un mod concis de declarare a unei interfețe care conține doar o singură metodă. De exemplu, un
OnClickListener
anonim ar putea avea doar o singură metodă, și anume metoda
onClick
. Deci, puteți înlocui acest anonim
OnClickListener
cu o expresie lambda.
Dacă răspundeți la mesaj apăsând Alt + Enter, Android Studio vă oferă o opțiune Înlocuiește cu Lambda. Dacă acceptați această opțiune, Android Studio transformă codul dvs. în aceste chestii.
pachet com. allmycode. a11_05;
importați android. os. Pachet;
importați android. a sustine. V7. app. AppCompatActivity;
importați android. widget. Buton;
importați android. widget. TextView;
clasa publica MainActivity extinde AppCompatActivity {
Buton buton;
TextView textView;
@Override
protejat void onCreate (Bundle savedInstanceState) {
super. onCreate (savedInstanceState);
setContentView (layout-ul, activitate_main);
button = (buton) findViewById (buton ID); Butonul
. setOnClickListener (vizualizare -> textView, setText (R, șir, you_clicked) );
textView = (TextView) findViewById (ID id.textView);
}
}
Acest cod utilizează o expresie lambda. Imaginea ilustrează trecerea de la o clasă care implementează o interfață cu o metodă la o expresie lambda.
Transformarea unei interfețe într-o expresie lambda.Observați rolul ușor al cuvântului
vizualizați
. Când declarați o metodă
onClick
, dați metodei un parametru de tip
View
chiar dacă instrucțiunile din interiorul metodei nu utilizează parametrul respectiv. În același mod, atunci când creați o expresie lambda pentru o metodă
onClick
, vă prefatați simbolul
->
cu un nume de parametru, chiar dacă nu utilizați acest nume de parametru în stânga simbolului
->
.
Pentru a utiliza expresii lambda, trebuie să îndepliniți anumite cerințe. De exemplu, trebuie să vă compilați codul cu Java 8 sau o versiune superioară. Versiunea dvs. Android Studio trebuie să fie de 2 sau mai mare. Și construiți proiectul dvs.
.
și
…
implicitConfig { …
jackOptions { activat
…
}
O expresie lambda poate avea mai mult de un parametru în stânga simbolului
->
. În caz contrar, trebuie să închideți toți parametrii în paranteze și să separați parametrii unul de celălalt cu virgule. De exemplu, expresia
(preț1, preț2) -> preț1 + preț2
este o expresie lambda valabilă.
Dacă sunteți confortabil cu expresii lambda, puteți face codul mult mai ușor de citit. Ceea ce a început ca aproximativ zece linii de cod poate deveni cu ușurință doar o parte a unei linii.