Android(安卓)Studio 使用 Lambda表达式
16lz
2021-12-04
AS2.1的Jack编译器终于支持Java8的一些新特性了,下面介绍在AS中使用Lambda表达式。
1.配置build.gradle(Module:app)
apply plugin: 'com.android.application'android { compileSdkVersion 'android-N' buildToolsVersion '24.0.0 rc3' defaultConfig { applicationId "com.example.shen.lambdatest" minSdkVersion 15 targetSdkVersion 23 versionCode 1 versionName "1.0" //使用Jack编译器 jackOptions{ enabled true } } //使用Java1.8 compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }}dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.3.0'}2.MainActivity
package com.example.shen.lambdatest;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.View;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity { private static final String TAG="Lambda"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initData(); } private void initData(){ List<String> lString=new ArrayList<>(); for(int i=0;i<10;i++){ lString.add(i+""); } //使用Lambda表达式前 findViewById(R.id.button).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { for(String string:lString){ Log.e(TAG,string); } } }); //使用Lambda表达式后 findViewById(R.id.button).setOnClickListener(v ->lString.forEach(obj->Log.e(TAG,obj))); }}
更多相关文章
- Android解决禁止使用http协议的方案
- Android中蓝牙使用步骤小结
- Android(安卓)Notification的使用
- android的进度条使用
- android Log.isLoggable步骤的使用
- Android(安卓)Camera使用小结
- Android(安卓)ADB使用
- Android中JNI的使用方法
- TabHost—多种实现