(三)Android项目磨刀篇 - Go语言中文社区

(三)Android项目磨刀篇


1.retrolambda使用

Lambda表达式是在JDK 8中开始支持的一种函数式推导语言,能够大量减少匿名内部类那种冗余的代码。在Android中,可以大量使用在设置监听,设置异步回调等场景。

1.下载 java8 sdk,并且配置完成
2.在build.gradle中加入编译的依赖,这会使用retrolambda来编译Java代码

<code>
buildscript {
//开始加入
dependencies {
classpath 'me.tatarka:gradle-retrolambda:3.1.0'
}
//结束插入
}
</code>

同时要加入plugin声明
<code> apply plugin: 'me.tatarka.retrolambda' </code>

3 . 加入compileOptions,这会让IDE使用用JAVA8语法解析

<code>
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
</code>

4 . 指定将源码编译的级别,,使用下列代码,会将代码编译到兼容1.6的字节码格式

<code>
retrolambda {
javaVersion JavaVersion.VERSION_1_6
}
</code>

5 . 添加测试代码, 对于只有一个方法的接口,java8中可以使用lambda表达式代替,所以我们熟悉的设定View点击事件的代码,只要这样写就可以了

<code>v.setOnClickListener(v1 -> Toast.makeText(getActivity(), "clicked", Toast.LENGTH_LONG).show());
</code>

对比之前的写法,就回到了我们的专题名字,不要太爽!

<code>
v.setOnClickListener(new View.OnClickListener(View v) {
@Override
public void onClick(View v) {
Toast.makeText(getActivity(), "clicked", Toast.LENGTH_LONG).show()
}
});
</code>

2.快速开发工具推荐

版权声明:本文来源简书,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://www.jianshu.com/p/b3b68d029fa6
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-01-09 08:40:59
  • 阅读 ( 924 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

推荐文章

猜你喜欢