android上的JAVA8:使用retrolambda

转载 2015年11月19日 15:31:16

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

相关文章推荐

Mac OSX 上 Android Studio 编译使用 JAVA8 及 retrolambda 的项目出错解决方案

Mac OSX 上 Android Studio 编译使用 JAVA8 及 retrolambda 的项目出错解决方案
  • cunfu
  • cunfu
  • 2015年07月30日 21:34
  • 2540

AndroidStudio 中开启Java8语法和Retrolambda库的使用

AndroidStudio中使用Java8语法,解决JNodeInternalError问题,使用Retrolambda库。

在Android上使用Lambda表达式 - retrolambda插件

Java8比较大的一个变化是加入了Lambda表达式,一种紧凑的,传递行为的方式。它可以使你的代码更简洁、逻辑更清晰。特别是用Rxjava的时候,将各种数据变换使用Lambda表达式来简化,可以最大化...

在Android上使用Lambda表达式 - retrolambda插件

Java8比较大的一个变化是加入了Lambda表达式,一种紧凑的,传递行为的方式。它可以使你的代码更简洁、逻辑更清晰。特别是用Rxjava的时候,将各种数据变换使用Lambda表达式来简化,可以最大化...
  • codezjx
  • codezjx
  • 2016年05月05日 23:10
  • 11350

retrolambda在Android studio中的使用

DataBinding如何与lambda相互兼容,retrolambda、Jack-lambda在Android studio的配置依赖

android lambda使用:Retrolambda Plugin

android lambda使用:Retrolambda Plugin 本文主要指导 在android studio中通过配置retrolambda使用lambda语法 官方地址: ht...
  • aaawqqq
  • aaawqqq
  • 2016年09月06日 16:48
  • 3107

Android Studio中使用Retrolambda插件

在Android Studio当中是默认不支持lambda表达式的。可以配置Retrolambda插件来使用lambda语法Retrolambda插件github需安装Java8环境查看已安装的jdk...

Android使用Lambda表达式 - retrolambda插件(优缺点)

lambda是在jdk1.8之后引入的,所以说lambda怎么支持jdk1.8之前的jdk版本呢,还是之前的套路提供了插件的形式(retrolambda) 在android-studio中配置ret...

retrolambda使用教程

java8开始引入了Lambda,但是怎么在低版本的java使用呢!采用 retrolambda插件。 配置 retrolambda的步骤: 1、在Project级gradle中添加classpath...

Android 使用Java8新特性之Lambda expression (附命令者模式简化)

前言Lambda expression,java8的新特性。使用Lambda expression,可以替代只有一个函数的接口实现,告别匿名内部类,代码看起来更简洁易懂。 java8还有其它一些新特...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android上的JAVA8:使用retrolambda
举报原因:
原因补充:

(最多只允许输入30个字)