Android——只需两步,使你的Android Studio支持Lambda表达式(有更新)

只需两步,使你的使Android Studio支持Lambda表达式

Java8的一大新特性就是较为健全的Lambda表达式,但是目前Android studio并不支持这一特性。但是可以通过在gradle中配置几行代码,引用Github上的资源,就可以让你的Android Studio支持Lambda表达式了。

注意:使用Lambda之前,必需确保你的Java8是能够运行的。

下面直接上代码:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
buildToolsVersion "23.0.2"

//需要添加的第一部分:

//下面这两句在创建项目时不会自动生成,必需加上,是为了引用Java8的。
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}

    defaultConfig {
applicationId "*************"
minSdkVersion 21
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
    buildTypes {
        release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
}

//需要添加的第二部分:

//以下全部都是要添加到项目的build.gradle中的。
//注意,经测试,只有3.2.4能够生效,如果有更新还请能够留言通知。
buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'me.tatarka:gradle-retrolambda:3.2.4'
}
}

repositories {
    mavenCentral()
}

apply plugin: 'me.tatarka.retrolambda'

只用添加标注的两部分即可,其余部分不用管。

来张效果图:
Lambda表达式效果图

在代码中使用Lambda表达式可以使你的代码更加简洁清晰,提高效率和可读性。

Android Studio 2.1 之后开启Lambda

AndroidStudio2.1之后,Google引入了新的编译器Jack,将来肯定是要替换掉现在的编译器的。它编译生成的文件类型与现有的Java编译器是不同的,但据说它能最大限度地缩小APK的体积,提高编译效率,并且64K这种蛋碎的问题也将不再存在了。

说了这么多其实只是想说,现在你只需要在 gradle中把它开启就行了:

defualtConfig{
    useJack(true)
}

下面这一段仍然是需要添加的,只有这样才能启用Java8

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

温馨提示:目前Jack还不完善,实际开发过程中可能会遇到一些诡异的坑,这将导致你不得不把他关闭。

  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值