android:在android studio中使用lambda,android lambda,retrolambda

文章来自:http://blog.csdn.net/intbird
我的一个demo:https://github.com/intbird/ANDIntbirdLamdba

操作步骤:
提供一个教程指导:https://github.com/evant/gradle-retrolambda

1:define java_home

define JAVA_HOME, can,t empty char at ‘=’; //TUDO:i dont know why i must use java8_home as default java_home,if not occurs major minor version 52.0 error;
我的英文本意:
1,将项目的project变更为java8的环境变量 或者 将profile的JAVA_HOME变量为java8的环境变量,如果看到下面这句,记得上面那句:major minor version 52.0 error;

  export JAVA6_HOME=/Library/Java/JavaVirtualMachines/jdk1.6.0.jdk/Contents/Home
  export JAVA7_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
  export JAVA8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home
  export JAVA_HOME=$JAVA8_HOME

step 2: gradle:

#1. project gradle config;

  dependencies {
          classpath 'com.android.tools.build:gradle:1.3.0'
          classpath 'me.tatarka:gradle-retrolambda:3.2.3'
          // NOTE: Do not place your application dependencies here; they belong
          // in the individual module build.gradle files
      }

#2. app gradle config;

  apply plugin: 'com.android.application'
      apply plugin: 'me.tatarka.retrolambda'
      ***
      ***
      android {
        compileOptions {
          sourceCompatibility JavaVersion.VERSION_1_8
          targetCompatibility JavaVersion.VERSION_1_8
        }
      }

#3.project sdk if need;

retrolambda {
    jdk System.getenv("JAVA8_HOME")
    javaVersion JavaVersion.VERSION_1_6 
    jvmArgs '-arg1', '-arg2'
    defaultMethods false 
    incremental true }

step 3:

TextView textView = (TextView)findViewById(R.id.tv_hello);
        textView.setOnClickListener( v -> Toast.makeText(getApplicationContext(), "MainActivity", Toast.LENGTH_LONG).show());

//can use plugin android-postfix-plugin-2.0.0__3_ in ,quick toast;


这里写图片描述

猜你喜欢

转载自blog.csdn.net/intbird/article/details/49077763