转载

Android 上的 Java 8:使用 retrolambda

Java8引入了lambda表达式,让许多开发者激动不已,本文介绍如何在Android上使用lambda。

  1. 首先下载 java8 sdk ,并且配置完成
  2. build.gradle 中加入编译的依赖,这会使用retrolambda来编译Java代码
buildscript { //开始加入  dependencies {  classpath 'me.tatarka:gradle-retrolambda:3.1.0'  }  //结束插入 } 

同时要加入plugin声明

apply plugin: 'me.tatarka.retrolambda'

3 . 加入 compileOptions ,这会让IDE使用用JAVA8语法解析

compileOptions {  sourceCompatibility JavaVersion.VERSION_1_8  targetCompatibility JavaVersion.VERSION_1_8 } 

4 . 指定将源码编译的级别,,使用下列代码,会将代码编译到兼容1.6的字节码格式

retrolambda {  javaVersion JavaVersion.VERSION_1_6 } 

5 . 添加测试代码, 对于只有一个方法的接口,java8中可以使用lambda表达式代替,所以我们熟悉的设定View点击事件的代码,只要这样写就可以了

v.setOnClickListener(v1 -> Toast.makeText(getActivity(), "clicked", Toast.LENGTH_LONG).show()); 

对比一下之前的代码量,是不是爽爆了?!!

v.setOnClickListener(new View.OnClickListener(View v) {  @Override  public void onClick(View v) {  Toast.makeText(getActivity(), "clicked", Toast.LENGTH_LONG).show()  } }); 

所有代码可以在这里找到:

http://tinyurl.com/qdbae7d

原文地址:juude.net/lambdajava

正文到此结束
Loading...