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)));    }}




更多相关文章

  1. Android解决禁止使用http协议的方案
  2. Android中蓝牙使用步骤小结
  3. Android(安卓)Notification的使用
  4. android的进度条使用
  5. android Log.isLoggable步骤的使用
  6. Android(安卓)Camera使用小结
  7. Android(安卓)ADB使用
  8. Android中JNI的使用方法
  9. TabHost—多种实现

随机推荐

  1. Android下的一个音乐播放工具类
  2. Android异步消息处理机制Handler完全解析
  3. Android 网络连接——URLConnection
  4. 在控件的任意位置显示图片
  5. Android Material Design 之CardView 属
  6. Android访问服务器
  7. android异步网络连接开源:Android Asynchr
  8. android登陆的编写
  9. No 97 · 在Android中查看和管理sqlite数
  10. Android(安卓)Screen Monito