作为一名Java开发者,或许你经常由于缺少闭包而发生许多的困扰。走运的是:Java’s 8th version introduced lambda functions给咱们带来了好消息;但是,这咩有什么卵用,在android上面,咱们依旧只能运用Java7.
那么现在情况如何?哈哈,咱们android developer也能用啦!咱们的老伙计Esko Luontola发现了在android上面运用lambda的办法,真是棒啊!那么,咱们来看看是怎样完结的吧!
Just as there was Retroweaver et al. for running Java 5 code with generics on Java 1.4。Retrolambda答应咱们能够在Java 8或许更低的版别上运用lambda表达式。这真是太棒了:在Java 7的虚拟机中,咱们能够运行在8上编译完结的代码。
现在,咱们运用Android Studio和gradle来完结吧,和Retrolambda签订契约,成为马猴烧酒吧(雾!
Install JAVA 8 SDK
下载java-8>能搞起,条件是要运用Java 8的SDK,在这里能够下载:JAVA 8
好了,现在在android studio中设置运用java 8吧。
Mac:
File > Project structure. 需求将这样设置:

其他能够参照设置。
Set up Gradle
你真棒呀!差不多你快好了。最终的过程便是修改Gradle的一些装备文件了。咱们将会运用Retrolambda plugin from Evan Tatarka,这样才能够支撑lambda表达式。
First、翻开app模块中的build.gradle文件,改动compileOption节点下的装备:
android {
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
Second、在相同的文件中增加:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath ‘me.tatarka:gradle-retrolambda:2.5.0’
}
}
repositories {
mavenCentral()
}
apply plugin: ‘me.tatarka.retrolambda’
然后就OK啦,测验build你的工程吧,必定棒棒哒~
需求留意的是:Retrolambda只是答应你运用Java 8中的lambda表达式,其他的特性在android中是行不通的。