Android|Android Studio中”Lambda表达式“使用方法及导入详解
一、什么是Lambda表达式
Lambda表达式是Java 8引入的一种表达式,lambda表达式允许你通过表达式来代替功能接口,让代码变的简单、而且可读、最重要的是代码量的减少。
【Android|Android Studio中”Lambda表达式“使用方法及导入详解】代表符号:->。
读音:?l?md?'
二、Lambda表达式在android开发中的的使用
1.在给控件设置监听##
没有使用Lambda的老方法:
ImageView iv = (ImageView)findViewById(R.id.imageView);
iv.setOnClickListener(new View.OnClickListener() {@Override
public void onClick(View v) {
System.out.println("没有使用lambda");
}
});
使用Lambda:
ImageView iv = (ImageView)findViewById(R.id.imageView);
iv.setOnClickListener(v -> System.out.println("使用lambda"));
2.创建新的线程## 没有使用Lambda的老方法:
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
System.out.println("没有使用lambda");
}
});
使用Lambda:
Thread thread = new Thread(() -> System.out.println("使用lambda"));
这只是我们最经常用到的两种情况。
3.怎么修改现有项目## 在可以修改位置按下alt+enter键(可以修改位置是成灰色)
文章图片
2017-03-07_173351.png 三、Lambda表达式引入Android studio# 1.下载jdk8并配置好环境变量。## jdk8下载地址
java环境配置---作者:烟花易冷JCL
2.AndroidStudio2.1.1之前版本导入## 1.Modle的build.gradle里添加
apply plugin: 'me.tatarka.retrolambda'
android{
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
2.Project的build.gradle里添加
buildscript {
repositories {
mavenCentral()
maven {
url "http://maven.oschina.net/content/groups/public"
}
}
dependencies {
classpath 'me.tatarka:gradle-retrolambda:2.5.0'
}
}
3.编译完成。
3.AndroidStudio2.1.1之后版本导入(同时更新SDK至最新)## Modle的build.gradle里添加
android {
defaultConfig {
jackOptions {
enabled true
}
}compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
编译完成。
4.打包项目时报错:编码GBK不可映射字符##
文章图片
2017-03-08_212727.png 需要在Modle的build.gradle里添加
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}
结束。
推荐阅读
- Element-ui的layout中gutter
- 2017-05-09
- 复盘【w11】
- CAD设计软件(BricsCAD 22 for Mac 中文版)
- 【观照社】经典传承(《论语》中一共写到159个人)
- 管好自己就能飞,践行灵性在生活中的点点滴滴
- 关于vue-admin-element中的动态加载路由
- js如何去除数组中的empty|js如何去除数组中的empty undefined空项
- C语言学习心得|深度分析数据在内存中的存储形式
- c语言中字符型char数据在内存中占|c语言中字符型char数据在内存中占,互联网常识(在c语言中char型数据在内存中的储存形式为什么...)