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键(可以修改位置是成灰色)

Android|Android Studio中”Lambda表达式“使用方法及导入详解
文章图片
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不可映射字符## Android|Android Studio中”Lambda表达式“使用方法及导入详解
文章图片
2017-03-08_212727.png 需要在Modle的build.gradle里添加
tasks.withType(JavaCompile) { options.encoding = "UTF-8" }

结束。

    推荐阅读