Βίντεο: Week 9 2024
Μερικές φορές, αν ανοίξετε τον κώδικα στο πρόγραμμα επεξεργασίας του Android Studio και τοποθετήσετε το ποντίκι πάνω από συγκεκριμένες λέξεις, θα έχετε μια ενδιαφέρουσα έκπληξη. Το Android Studio σας λέει ότι μπορείτε να αντικαταστήσετε την ανώνυμη εσωτερική κλάση με μια έκφραση λάμδα.
Μπορείτε να δημιουργήσετε μια έκφραση lambda.Εντάξει. Τι είναι μια έκφραση λάμδα; Για αρχάριους, lambda είναι ένα γράμμα στο ελληνικό αλφάβητο και ο όρος έκφραση λάμδα προέρχεται από έγγραφα που γράφτηκαν στη δεκαετία του 1930 από την μαθηματική σχολή Alonzo Church.
Το 2013, η Oracle κυκλοφόρησε το Java 8, προσθέτοντας λέξεις lambda στη γλώσσα Java. Και το 2016, η Google έκανε τις λειτουργίες Java 8 διαθέσιμες σε προγραμματιστές Android.
Τι είναι ακριβώς μια λέξη λάμδα; Μια έκφραση λάμδα είναι ένας συνοπτικός τρόπος δήλωσης διεπαφής που περιέχει μόνο μία μέθοδο. Για παράδειγμα, ένα ανώνυμο
OnClickListener
θα μπορούσε να έχει μόνο μία μέθοδο, δηλαδή τη μέθοδο
onClick
. Έτσι μπορείτε να αντικαταστήσετε αυτό το ανώνυμο
OnClickListener
με μια έκφραση λάμδα.
εισαγωγή του Android. os. Δέσμη;
εισαγωγή του Android. υποστήριξη. v7. app. AppCompatActivity;
εισαγωγή του Android. widget. Κουμπί;
η δημόσια κλάση MainActivity επεκτείνει το κουμπί AppCompatActivity {
κουμπί;
TextView textView;
@Override
προστατευμένο void onCreate (Bundle savedInstanceState) {
σούπερ. onCreate (savedInstanceState);
setContentView (διάταγμα διάταξης.activity_main);
κουμπί = (κουμπί) findViewById (πλήκτρο ταυτότητας);
. setOnClickListener (
προβολή -> textView. setText (συμβολοσειρά, you_clicked) ); textView = (TextView) findViewById (κωδικός αναγνώρισης κειμένου);
}
}
Αυτός ο κωδικός χρησιμοποιεί μια έκφραση λ. Η εικόνα απεικονίζει τη μετάβαση από μια κλάση που υλοποιεί μια διεπαφή μίας μεθόδου σε μια έκφραση λάμδα.
Ενεργοποίηση μιας διεπαφής σε μια έκφραση λάμδα.
Παρατηρήστε τον ελαφρύ ρόλο της λέξηςπροβολή
. Όταν δηλώνετε μια μέθοδο
onClick
, δίνετε στη μέθοδο μια παράμετρο τύπου
Προβολή
ακόμα κι αν οι δηλώσεις εντός της μεθόδου δεν χρησιμοποιούν αυτήν την παράμετρο. Με τον ίδιο τρόπο, όταν δημιουργείτε μια έκφραση lambda για μια μέθοδο
onClick
, προφέρετε το σύμβολο
->
με ένα όνομα παραμέτρου, ακόμα και αν δεν χρησιμοποιείτε αυτό το όνομα παραμέτρου στην αριστερή πλευρά του συμβόλου
->
.
Για να χρησιμοποιήσετε τις εκφράσεις lambda, πρέπει να ικανοποιήσετε ορισμένες απαιτήσεις. Για παράδειγμα, πρέπει να μεταγλωττίσετε τον κώδικα σας με Java 8 ή νεότερη έκδοση. Η έκδοση του Android Studio πρέπει να είναι 2. 1 ή μεγαλύτερη. Και η κατασκευή
του έργου σας. Το αρχείο
πρέπει να περιλαμβάνει τον ακόλουθο κώδικα:
android {
…
defaultConfig { …
jackOptions { …
}
Μια έκφραση λάμδα μπορεί να έχει περισσότερες από μία παραμέτρους στα αριστερά του συμβόλου
->
. Εάν συμβαίνει αυτό, πρέπει να περικλείσετε όλες τις παραμέτρους σε παρενθέσεις και να διαχωρίσετε τις παραμέτρους μεταξύ τους με κόμματα. Για παράδειγμα, η έκφραση
(τιμή1, τιμή2) -> τιμή1 + τιμή2
είναι μια έγκυρη έκφραση λάμδα.
Εάν αισθάνεστε άνετα με τις εκφράσεις lambda, μπορείτε να κάνετε τον κώδικα σας πιο ευανάγνωστο. Αυτό που ξεκίνησε ως περίπου δέκα γραμμές κώδικα μπορεί εύκολα να γίνει μόνο μέρος μιας γραμμής.