Android如何使用JAVA8新特性--lambda表达式

lambda表达式

Posted by Mio4kon on 2015-06-01

准备工作

1.下载java8,并配置java8环境变量.

2.配置参数可以自由切换java7,java8 (mac 环境)

在.bash_profile下添加

1
2
3
export JAVA7_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
export JAVA8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
export JAVA_HOME=$JAVA7_HOME

在终端执行

1
2
alias jdk8='export JAVA_HOME=$JAVA_8_HOME'
alias jdk7='export JAVA_HOME=$JAVA_7_HOME'

以后就可以在终端通过jdk8,jdk7来切换java环境.

使用gradle-retrolambda库

gradle-retrolambda库可以使android使用lambda表达式,如果不懂lambda表达式可以自行谷歌~

具体配置过程:

  1. 右键model->open model settings->jdk location设置为jdk8的路径
  2. 在model的build.gradle中使用如下,筒子们可以对照添加.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
buildscript {
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
classpath 'me.tatarka:gradle-retrolambda:3.1.0'
}
}
apply plugin: 'com.android.application'
apply plugin: 'me.tatarka.retrolambda'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
defaultConfig {
applicationId "com.mio.rxjavademo"
minSdkVersion 14
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.1.1'
}

最后就可以优雅的使用lambda表达式了.是不是瞬间觉得逼格变高了?

Update:

过时,最新Android Studio已经支持