android lambda使用:Retrolambda Plugin

android lambda使用:Retrolambda Plugin



本文主要指导  在android studio中通过配置retrolambda使用lambda语法



官方地址: https://github.com/orfjackal/retrolambda#gradle-plugin
gradle plugin ( 支持java 6 、7 、 android ) :  https://github.com/evant/gradle-retrolambda


文章默认玩家已经安装好java8 jdk  环境 , 如未请链接左转

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html


在Android studio中使用lambda语法需要对project以下三文件进行修改

android lambda使用:Retrolambda Plugin_第1张图片



<1> build.gradle   (Project ) 

     在 build.gradle 中的  dependencies 标签添加: classpath 'me.tatarka:gradle-retrolambda:3.2.5'

     例:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.2'
        classpath 'me.tatarka:gradle-retrolambda:3.2.5'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }

}


<2> build.gradle   ( module 

2.1在最外层添加:

apply plugin: 'me.tatarka.retrolambda'

retrolambda {
    javaVersion JavaVersion.VERSION_1_6
}


2.2 在android {}  标签里添加 

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

例子:

android lambda使用:Retrolambda Plugin_第2张图片


<3> 混淆 proguard-rules.pro

在 proguard-rules.pro  (ProGuard Rules for app )中添加

# For retrolambda
-dontwarn java.lang.invoke.*


例如:

android lambda使用:Retrolambda Plugin_第3张图片


以上配置完成。



最后在代码里进行试试配置情况

android lambda使用:Retrolambda Plugin_第4张图片

//  ┏┓   ┏┓
//┏┛┻━━━┛┻┓
//┃       ┃
//┃   ━   ┃
//┃ ┳┛ ┗┳ ┃
//┃       ┃
//┃   ┻   ┃
//┃       ┃
//┗━┓   ┏━┛
//   ┃   ┃   神兽保佑
//   ┃   ┃   代码无BUG!
//   ┃   ┗━━━┓
//   ┃       ┣┓
//   ┃       ┏┛
//   ┗┓┓┏━┳┓┏┛
//     ┃┫┫ ┃┫┫
//     ┗┻┛ ┗┻┛

谢谢

你可能感兴趣的:(rxjava)