如果您不使用java 8功能,这是安全的。
虽然你可能会热衷java 8与retroLambda和collectionsQuery。 https://github.com/evant/gradle-retrolambda和 https://bitbucket.org/mart_bogdan/collectionsquery/src
这将允许您将程式码写入类似以下内容: -
mButton.setOnClickListener(v-> doClickEvent());
mView.postDelayed(() -> someMethodToRun() , 1000);
Queryable.from(listOfObject).forEachR(r -> doProcess(r));
,而不是笨重的
mButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
doClickEvent();
}
});
用java 8 retrolambda刚添加到gradle文件中。
apply plugin: 'com.android.application'
apply plugin: 'me.tatarka.retrolambda'
android {
// :
// Snips the rest of configuration.
// :
compileOptions {
encoding "UTF-8"
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.innahema:collections-query:0.2.9'
}
并在项目gradle.build文件添加以下内容...
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
classpath 'me.tatarka:gradle-retrolambda:3.2.3'
classpath 'me.tatarka.retrolambda.projectlombok:lombok.ast:0.2.3.a2' //fix lint issue
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
Android不支持大部分的Java 8的新功能。 –
因此,如果我不使用任何这些新功能,我仍然可以编译和运行我的代码? – wayway
即使您安装了JDK8,也可以将兼容性设置为1.7(或取决于要求)... – Codebender