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.

java-programación-para-android-developers-2E-lambda-expresiones
Puede crear 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.

java-programación-para-android-developers-2e-interfaz-en-lambda
Volviendo una interfaz en 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.

Artículos Relacionados