Usando expressões lambda do java em seu aplicativo android

Às vezes, se você abrir o código no editor do Android Studio e passe o mouse sobre certas palavras, você tem uma surpresa interessante. Estúdio Android diz que você pode substituir a classe interna anônima com uma expressão lambda.

java-programming-for-android-developers-2E-lambda-expressions
Você pode criar uma expressão lambda.

OK. O que é uma expressão lambda? Para iniciantes, lambda é uma letra do alfabeto grego, eo termo expressão lambda vem de artigos escritos em 1930 pelo matemático Alonzo Church.

Em 2013, a Oracle lançou Java 8, acrescentando expressões lambda para a linguagem Java. E em 2016, o Google fez Java 8 recursos disponíveis para desenvolvedores Android.

O que é uma expressão lambda exatamente? UMA expressão lambda é uma maneira concisa de declarar uma interface que contém apenas um método. Por exemplo, um anônimo onclickListener poderia ter apenas um método, nomeadamente, o onclick método. Assim, você pode substituir esse anônimo onclickListener com uma expressão lambda.

Se você responder a mensagem pressionando Alt + Enter, Estúdio Android oferece-lhe uma Substituir com opção de Lambda. Se aceitar esta opção, Estúdio Android transforma o seu código em este material.

com.allmycode.a11_05- pacote

importação android.os.Bundle-

importação android.support.v7.app.AppCompatActivity-

importação android.widget.Button-

importação android.widget.TextView-

classe pública MainActivity estende AppCompatActivity {

botão botão-

TextView textView-

@Sobrepor

protected void onCreate (Bundle savedInstanceState) {

super.onCreate (savedInstanceState) -

setContentView (R.layout.activity_main) -

Video: 9. Primeira app Android com código Java (Eclipse)

= botão (Button) findViewById (R.id.button) -

Video: Java 8 Language Features on Android (Android Development Patterns S3 Ep 9)



button.setonclickListener (ver -gt; textView.setText (R.string.you_clicked)) -

textView = (TextView) findViewById (R.id.textView) -

}

}

Este código usa uma expressão lambda. A imagem ilustra a transição a partir de uma classe que implementa uma interface de um método para uma expressão lambda.

-Java-programação para-android-developers-2e interface-into-lambda
Rodar uma interface para uma expressão lambda.

Observe o papel leve da palavra Visão. Quando você declarar um onclick método, você dá o método de um parâmetro do tipo Visão mesmo que as instruções dentro do método não use esse parâmetro. Da mesma forma, quando você cria uma expressão lambda para um onclick método, você prefaciar o -gt; símbolo com um nome de parâmetro, mesmo se você não usar esse nome parâmetro para a esquerda do -gt; símbolo.

Para utilizar expressões lambda, é necessário atender a determinados requisitos. Por exemplo, você deve compilar o código com Java 8 ou superior. Sua versão Android Studio deve ser 2.1 ou superior. E seu projeto de build.gradle arquivo deve incluir o seguinte código:

Video: Guia completo NetBeans -- Aula 21 -- Desenvolvendo com Android

android {

...

DefaultConfig {

...

jackOptions {

habilitado verdade

}

}

...

}

Uma expressão lambda pode ter mais de um parâmetro à esquerda do -gt; símbolo. Se isso acontecer, você deve incluir todos os parâmetros entre parênteses e separar os parâmetros de um outro com vírgulas. Por exemplo, a expressão

(Price1, price2) -gt; Price1 + price2

é uma expressão lambda válido.

Se você está confortável com expressões lambda, você pode tornar seu código muito mais legível. O que começou como cerca de dez linhas de código podem facilmente tornar-se apenas uma parte de uma linha.


Publicações relacionadas