作为一名Java开发者,或许你时常因为缺乏闭包而产生许多的困扰。幸运的是:Java’s 8th version introduced lambda functions给我们带来了好消息;然而,这咩有什么卵用,在android上面,我们仍旧只能使用Java7.

那么现在情况如何?哈哈,动力IT教育的java高级导师我们android developer也能用啦!我们的老伙计Esko Luontola发现了在android上面使用lambda的方法,真是棒啊!那么,我们来看看是怎么实现的吧!

Just as there was Retroweaver et al. for running Java 5 code with generics on Java 1.4。Retrolambda允许我们能够在Java 8或者更低的版本上使用lambda表达式。这真是太棒了:在Java 7的虚拟机中,我们能够运行在8上编译完成的代码。

现在,我们使用Android Studio和gradle来实现吧,和Retrolambda签订契约,成为马猴烧酒吧(雾! (转载自 http://www.puiedu.com/applyOnline_daily_news.php?id=84 动力IT教育

Install JAVA 8 SDK

下载java-8>能搞起,前提是要使用Java 8的SDK,在这里能够下载:JAVA 8

好了,现在在android studio中设置使用java 8吧。

Mac:

File > Project structure. 需要将这样设置:

别的可以参照设置。

Set up Gradle

你真棒呀!差不多你快好了。最后的步骤就是编辑Gradle的一些配置文件了。我们将会使用Retrolambda plugin from Evan Tatarka,这样才能够支持lambda表达式。

First、打开app模块中的build.gradle文件,改变compileOption节点下的配置:

android {

}

compileOptions {

sourceCompatibility JavaVersion.VERSION_1_8

targetCompatibility JavaVersion.VERSION_1_8

}

}

Second、在同样的文件中添加:

buildscript {

repositories {

mavenCentral()

}

dependencies {

classpath 'me.tatarka:gradle-retrolambda:2.5.0'

}

}

repositories {

mavenCentral()

}

apply plugin: 'me.tatarka.retrolambda'

然后就OK啦,尝试build你的工程吧,肯定棒棒哒~

需要注意的是:Retrolambda仅仅允许你使用Java 8中的lambda表达式,其他的特性在android中是行不通的。

在Android中使用Java 8的lambda表达式的更多相关文章

  1. Android中实现java与PHP服务器(基于新浪云免费云平台)http通信详解

    Android中实现java与PHP服务器(基于新浪云免费云平台)http通信详解 (本文转自: http://blog.csdn.net/yinhaide/article/details/44756 ...

  2. android中在java代码中设置Button按钮的背景颜色

    android中在java代码中设置Button按钮的背景颜色 1.设置背景图片,图片来源于drawable: flightInfoPanel.setBackgroundDrawable(getRes ...

  3. Java 终于有 Lambda 表达式啦~Java 8 语言变化——Lambda 表达式和接口类更改【转载】

    原文地址 en cn 下载 Demo Java™ 8 包含一些重要的新的语言功能,为您提供了构建程序的更简单方式.Lambda 表达式 为内联代码块定义一种新语法,其灵活性与匿名内部类一样,但样板文件 ...

  4. C++11中新特性之:lambda 表达式

    首先摆出Lambda表达式语法 lambda-expression: lambda-introducer lambda-declaratoropt compound-statementlambda-i ...

  5. 在android 中开发java.net.SocketException: socket failed: EACCES (Permission denied) 报错

    在android中下载文件,写好下载文件的代码后需要配置相应的权限 <uses-permission android:name="android.permission.INTERNET ...

  6. java语言中的匿名类与lambda表达式介绍与总结 (Anonymous Classes and Lambda Expressions)

    2017/6/30 转载写明出处:http://www.cnblogs.com/daren-lin/p/anonymous-classes-and-lambda-expressions-in-java ...

  7. IDEA问题java: -source 1.6 中不支持diamond、 lambda 表达式

    文章目录 一.问题:连片的java: -source 1.6 中不支持 diamond 运算符.lambda 表达式 二.解决方法: 1.在微信群里问大佬,大佬在玩游戏,回复的比较慢 2.自己查Goo ...

  8. 【转】Java 8十个lambda表达式案例

    1. 实现Runnable线程案例 使用() -> {} 替代匿名类: //Before Java 8: new Thread(new Runnable() { @Override public ...

  9. Java 8十个lambda表达式案例

    1. 实现Runnable线程案例 使用() -> {} 替代匿名类: //Before Java 8: new Thread(new Runnable() { @Override public ...

随机推荐

  1. javascript 多线程Web Worker不引用外部js文件的方法

    最近在Android开发中 Webview通过调用JavascriptInterface的方式与App交互 在交互的过程中,有些App上的操作时间会比较长,Web中调用的话会造成程序假死的情况 于是想 ...

  2. 培训第四天-----jdbc连接oracle

    oracle链接数据库并向tableone插入中一条数据 package com.zjw.db; import java.sql.Connection; import java.sql.DriverM ...

  3. XE7 & IOS开发之开发账号(2):发布证书、发布授权profile的申请使用,附Ad hoc真机调试、生成ipa文件演示(XCode所有版本通用,有图有真相)

    网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 注意,以下讨论都是以&q ...

  4. OpenGL学习笔记4——模型视图变换

    以日月地为例的一个模型视图变换.绕了比较多的弯路,下面是几个注意点总结. 注意点: 1.GL函数对模型的操作是基于当前局部坐标系,即模型坐标系而非世界坐标系,二者只在第一次初始化完毕之后才重合: 2. ...

  5. Google Authenticator

    Google Authenticator 现在越来越多的网站采用两步验证,实现方式可能有所区别,一般来说是 1+? (1 即 普通的用户名和密码, ?可能是实物如U盾.手机短信验证码或其他).?的重点 ...

  6. socket 网络编程

    1. 基础socket库 socket.h: /** * 网络套接字库 */ #ifndef Socket_h #define Socket_h #include <stdio.h> #i ...

  7. js面向对象的实现(example 一)

    //通过函数原型链(prototype)的方式来构造对象 //通过闭包的方式来对元素类进行封装 //通过函数原型链的方式来构造对象的方法和类的继承 //通过以上步骤就可以用函数的形式来实现类的,封装, ...

  8. oracle number型日期转date型日期

    在搞数据库时,发现有这样的一个字段,类型是NUMBER(38),查看了一下里面的数据,都是这样的, 13239576781141321326994295132212930680413221297162 ...

  9. WPS for Linux(ubuntu)字体缺失解决办法(转)

    原文:http://www.cnblogs.com/liangml/p/5969404.html 启动WPS for Linux后,出现提示"系统缺失字体" . 出现提示的原因是因 ...

  10. Build OpenCV text(OCR) module on windows

    Background. AOI software needs to use the OCR feature to recognize the texts on the chips. Because o ...