关闭

android上的JAVA8:使用retrolambda

标签: androidJAVA8retrolambda
531人阅读 评论(0) 收藏 举报
分类:

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

0
0
查看评论

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

AndroidStudio中使用Java8语法,解决JNodeInternalError问题,使用Retrolambda库。
  • hexingen
  • hexingen
  • 2017-10-20 19:04
  • 941

retrolambda使用

在android studio 中使用retrolambda 1,下载jdk8 2,在Project的buildscript->dependencies中增加classpath , 这会使用retrolambda来编译Java代码     class...
  • chenqiuping_ls
  • chenqiuping_ls
  • 2016-11-30 15:51
  • 392

Android studio中使用retrolambda之前的配置

使用retrolambda之前的配置方法
  • shuguangoo
  • shuguangoo
  • 2017-02-23 10:10
  • 299

Retrolambda使用介绍

lambda 語法input -> bodyview -> Log.d(“l”,”log”)intput 类型 无参 void () -> body 单个参数 x -> Log.d(“l”,”log”) 两(多)个参数 (x, y) -> x + y; ...
  • cai_iac
  • cai_iac
  • 2016-03-10 14:03
  • 8377

Android Studio中使用Retrolambda插件

在Android Studio当中是默认不支持lambda表达式的。可以配置Retrolambda插件来使用lambda语法Retrolambda插件github需安装Java8环境查看已安装的jdk版本方法如下: 在Android Studio需要对以下文件进行修改:1.build.gradle...
  • cgq1030699125
  • cgq1030699125
  • 2017-03-25 13:34
  • 334

retrolambda在Android studio中的使用

DataBinding如何与lambda相互兼容,retrolambda、Jack-lambda在Android studio的配置依赖
  • wu996489865
  • wu996489865
  • 2016-12-01 21:37
  • 543

Java:java8 lambda retrolambda

java8 lambda retrolambda
  • intbird
  • intbird
  • 2015-10-12 18:40
  • 599

如何在 Android 中使用 Java8

Android官方兼容方案工具方面要求 Android Studio 2.1 以上 启用 Jack 编译 不过这个 Jack 编译会带来一些问题,例如,不能用 Instant Run,不能用 Lint等等,这看起来似乎无伤大雅。Android不同的版本对Java8的支持 默认方法和接口的静态方法(A...
  • zwlove5280
  • zwlove5280
  • 2017-01-05 19:12
  • 3445

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

Java8比较大的一个变化是加入了Lambda表达式,一种紧凑的,传递行为的方式。它可以使你的代码更简洁、逻辑更清晰。特别是用Rxjava的时候,将各种数据变换使用Lambda表达式来简化,可以最大化的减少样板代码,使整个数据流的处理逻辑十分清晰(下面会有个例子)。
  • codezjx
  • codezjx
  • 2016-05-05 23:10
  • 12831

Retrolambda 配置

gradle 全局配置使用的是2.1.2buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:...
  • telencool
  • telencool
  • 2016-06-16 11:12
  • 2993
    个人资料
    • 访问:212395次
    • 积分:2918
    • 等级:
    • 排名:第14346名
    • 原创:24篇
    • 转载:356篇
    • 译文:2篇
    • 评论:4条
    最新评论