El uso de expresiones lambda de java en su aplicación para android
A veces, si se abre en el editor de código de Android Studio y pasa el ratón sobre ciertas palabras, se obtiene una interesante sorpresa. Android Studio le indica que puede reemplazar la clase interna anónima con una expresión lambda.
Bueno. ¿Qué es una expresión lambda? Para principiantes, lambda es una letra del alfabeto griego, y el término expresión lambda proviene de documentos escritos en la década de 1930 por el matemático Alonzo Church.
Video: Java 8 Language Features on Android (Android Development Patterns S3 Ep 9)
En 2013, Oracle lanzó Java 8, añadiendo expresiones lambda para el lenguaje Java. Y en 2016, Google hizo Java 8 funciones disponibles para los desarrolladores de Android.
¿Qué es una expresión lambda exactamente? UN expresión lambda es una forma concisa de declarar una interfaz que contiene un solo método. Por ejemplo, un anónimo onclickListener
podría tener sólo un método, a saber, la al hacer clic
método. Para que pueda reemplazar este anónima onclickListener
con una expresión lambda.
Si responde al mensaje pulsando Alt + Enter, Android Studio le ofrece una opción Reemplazar con Lambda. Si acepta esta opción, Android Studio convierte el código en esta materia.
com.allmycode.a11_05- paquete
importación android.os.Bundle-
importación android.support.v7.app.AppCompatActivity-
importación android.widget.Button-
importación android.widget.TextView-
Video: Lambda Expression in Java 8
MainActivity clase pública se extiende AppCompatActivity {
botón de botón
Vista de Texto textView-
@Anular
protected void onCreate (Bundle savedInstanceState) {
super.onCreate (savedInstanceState) -
setContentView (R.layout.activity_main) -
= botón (botón) findViewById (R.id.button) -
button.setonclickListener (ver -gt; textView.setText (R.string.you_clicked)) -
Textview = (TextView) findViewById (R.id.textView) -
}
}
Este código utiliza una expresión lambda. La imagen ilustra la transición de una clase que implementa una interfaz de un método para una expresión lambda.
Nótese el papel de peso ligero de la palabra ver
. Cuando se declara una al hacer clic
método, el método da un parámetro de tipo Ver
incluso si las sentencias dentro del método no utilizan ese parámetro. De la misma manera, cuando se crea una expresión lambda para una al hacer clic
método, el prefacio -gt;
símbolo con un nombre de parámetro, incluso si no se utiliza ese nombre de parámetro a la izquierda de la -gt;
símbolo.
Para utilizar las expresiones lambda, debe satisfacer ciertos requisitos. Por ejemplo, se debe compilar el código Java con 8 o superior. Su versión de Android Studio debe ser 2.1 o superior. Y su proyecto de build.gradle
archivo debe incluir el siguiente código:
androide {
...
defaultConfig {
...
jackOptions {
permitido cierto
}
}
...
}
Una expresión lambda puede tener más de un parámetro a la izquierda de la -gt;
símbolo. Si lo hace, debe incluir todos los parámetros entre paréntesis y separar los parámetros entre sí por comas. Por ejemplo, la expresión
(Price2 price1,) -gt; price1 + price2
es una expresión lambda válida.
Si se siente cómodo con las expresiones lambda, se puede hacer que el código mucho más legible. Lo que comenzó como una decena de líneas de código puede convertirse fácilmente en sólo una parte de una línea.