android上的JAVA8:使用retrolambda

news/2024/7/7 10:14:46

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


http://www.niftyadmin.cn/n/3649276.html

相关文章

react 生命挂钩_简而言之,React useContext挂钩

react 生命挂钩Early February 2019, React introduced Hooks as a way to rewrite your components as simple, more manageable, and classless. useContext is one of the built-in Hooks, giving functional components easy access to your context. But before we dive i…

OkHttp3的使用

一、首先需要Gradle,GitHub的链接:http://square.github.io/okhttp/ compile com.squareup.okhttp3:okhttp:3.9.0 二、测试get方法 /*** 测试get方法*/ Test public void testGet() {//创建OKHttpClient对象OkHttpClient okHttpClient new OkHttpClient();//创建request对象Re…

Android 使用Fragment,ViewPagerIndicator 开发APP项目的主框架

本来准备下载个CSDN的客户端放手机上,没事可以浏览浏览资讯,下载了官方的之后,发现并不能很好的使用。恰好搜到一个大神自己写的csdn的app,下载安装了一下,感觉很不错,也很流畅,基本满足了我们 …

spread运算符_JavaScript中的Spread运算符有什么用?

spread运算符Learn about the ES6 spread operator, and some practical uses for this powerful JavaScript feature! 了解ES6传播运算符,以及此强大JavaScript功能的一些实际用法! The spread operator is a feature of JavaScript introduced with E…

E测中国翻译团队成立,首战告捷!

应广大网友的热烈要求,E测翻译小组正式成立,对外宣传的E测翻译团队首页:https://sites.google.com/site/5etestingtranslating/home 说明:E测翻译团队为E测中国(www.5etesting.com)旗下的翻译团队&#xf…

基于MVP架构的OKHttp3的封装

一、OKHttp的优势 url测试地址:http://httpbin.org 二、首先对Response进行封装 ①定义IResponse接口 public interface IResponse {//状态码int getCode();//数据体String getData(); } ②BaseResponse实现继承IResponse public class BaseResponse implements …

《QTP项目应用与进阶》发布啦 - 自动化测试从业人员的必备宝典!!!

真高兴,书籍就快要上市了 百度百科:http://baike.baidu.com/view/2772580.htm 当当网:http://product.dangdang.com/product.aspx?product_id20686980&】 卓越亚马逊:http://www.amazon.cn/QTP%E9%A1%B9%E7%9B%AE%E5%BA%9…

[_NET]如何让Win2000和XP SP1支持System.EnterpriseServices(未验证)

有的地方写System.EnterpriseServices可以在WinXPSP2和Win2003上使用,我们可以让Win2000和WinXPSP1上也可以使用。引子:我在WinXP Pro上和Win2000上都无法运行下面语句:sc new System.EnterpriseServices.ServiceConfig();总是得到 ex.Messa…