Android Studio中”Lambda表达式“使用方法及导入详解

    xiaoxiao2021-03-25  161

    一、什么是Lambda表达式

    Lambda表达式是Java 8引入的一种表达式,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键(可以修改位置是成灰色)

    三、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不可映射字符

    需要在Modle的build.gradle里添加

    tasks.withType(JavaCompile) { options.encoding = "UTF-8" }

    结束。

    转载请注明原文地址: https://ju.6miu.com/read-7011.html

    最新回复(0)