android上的JAVA8:使用retrolambda

jopen 9年前發布 | 153K 次閱讀 Android開發 移動開發 Android

Java8引入了lambda表達式,讓許多開發者激動不已,本文介紹如何在Android上使用lambda。

  1. 首先下載 java8 sdk,并且配置完成
  2. 在build.gradle中加入編譯的依賴,這會使用retrolambda來編譯Java代碼
buildscript {
//開始加入
 dependencies {
 classpath 'me.tatarka:gradle-retrolambda:3.1.0'
 }
 //結束插入
}

同時要加入plugin聲明
apply plugin: 'me.tatarka.retrolambda'

3 . 加入compileOptions,這會讓IDE使用用JAVA8語法解析

compileOptions {
 sourceCompatibility JavaVersion.VERSION_1_8
 targetCompatibility JavaVersion.VERSION_1_8
}

4 . 指定將源碼編譯的級別,,使用下列代碼,會將代碼編譯到兼容1.6的字節碼格式

retrolambda {
 javaVersion JavaVersion.VERSION_1_6
}

5 . 添加測試代碼, 對于只有一個方法的接口,java8中可以使用lambda表達式代替,所以我們熟悉的設定View點擊事件的代碼,只要這樣寫就可以了

v.setOnClickListener(v1 -> Toast.makeText(getActivity(), "clicked", Toast.LENGTH_LONG).show());

對比一下之前的代碼量,是不是爽爆了?!!

v.setOnClickListener(new View.OnClickListener(View v) {
 @Override
 public void onClick(View v) {
 Toast.makeText(getActivity(), "clicked", Toast.LENGTH_LONG).show()
 }
});

所有代碼可以在這里找到:

http://tinyurl.com/qdbae7d

原文地址:juude.net/lambdajava

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!