美文网首页
Android Studio 配置Java 8 Lambda表达

Android Studio 配置Java 8 Lambda表达

作者: lnfg | 来源:发表于2017-01-24 16:22 被阅读433次

        虽然网上已经有了很多详细的介绍了,但是笔者还是想自己亲自过一遍如何在Android Studio中配置Lamdba表达式。【注:此文章针对Android而言的】


举个例子:

我们不用Lambda表达式的时候,在Android中 点击事件是如下所示这样写的:

findViewById(R.id.btn_lambda).setOnClickListener(newView.OnClickListener() {

@Override

public voidonClick(Viewv) {

           Log.e(TAG,"onClick: "+"点击");

}});

这种方式,清晰明了,就是代码量多了。也不失是一种好的写法。如果我们要减少代码量呢,该如何去写?很好 Java 8 的新特性就给我们一个大大的方便,Java 8 Lambda表达式 。

在Android Studio 中我们该如何去配置和使用,本篇就简单的介绍下Java 8 Lambda 表达式的配置与书写方式。要了解Java 8 Lambda 表达式的更多内容,自行google。请谅解!谢谢!

配置步骤:

1.既然是Java 8 的新特性,我们当然要下载JDK8的版本,安装JDK、配置环境变量就不用说了吧,笔者相信读者都是聪明的。

2.在Android Studio新建一个Android工程,

 a . 在项目的build.gradle(Project)文件中添加

dependencies{

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

}

b . 然后在build.gradle(app)文件中的顶部添加

applyplugin:'com.android.application'

applyplugin:'me.tatarka.retrolambda'

android{

     compileOptions{

           sourceCompatibilityJavaVersion.VERSION_1_8

           targetCompatibilityJavaVersion.VERSION_1_8

     }

}

3. 添加一下混淆

在项目中的proguard-rules.pro 这个文件中添加如下

-dontwarn java.lang.invoke.*

然后sync now一下就可以使用了。

此时 控件的点击事件可以这样写:

findViewById(R.id.btn_lambda).setOnClickListener(

      view  ->  {

                    Log.e(TAG,"onClick: "+"点击0000000000000000000000"+view);

});

看下效果

效果图

是不是代码量少了很多,但是对于不熟悉的读者来说,看起来是有点摸不着头脑,没关系,读者花上那么一点点时间去适应适应Java 8 Lamdba表达式 就习惯了。

读者可以自己试一下,应该不会出现什么问题吧!如有问题请指出,笔者知晓立即修正!谢谢!

相关文章

网友评论

      本文标题:Android Studio 配置Java 8 Lambda表达

      本文链接:https://www.haomeiwen.com/subject/eabzbttx.html