Android 使用 lambda 表達式

Android Studio 3.0 開始可以支持java8了匆笤,不需要添加jack或者使用retrolambda了

jdk 1.8 新增了 lambda 表達式的特性,想要在android中使用lambda,需要以下幾步莫绣。

  1. 安裝jdk1.8
  2. 在build.gradle中添加以下代碼
 android {
   compileOptions {
       sourceCompatibility 1.8
       targetCompatibility 1.8
   }
}

或者你可以按快捷鍵Ctrl+Shift+Alt+S進入 Project Structure
在你的 Modul e的 Source Compatibility 和 Target Compatibility 欄中填寫 1.8。
apply 之后項目會自動同步,并在 build.gradle 中生成上面的代碼西疤。

  1. 但是報錯了: Error:Jack is required to support java 8 language features 需要在build.gradle中添加以下代碼
defaultConfig {
  ...
    jackOptions {
      enabled true
    }
  }

這樣就能通過了

  1. 但如果你使用了dataBinding的話,就會出現(xiàn)
    Error:Data Binding does not support Jack builds yet
    所以如果你使用了dataBinding的話以上方法就不適合你了休溶。請使用 retrolambda代赁。這里我貼上 retrolambda 的官方說明。
  1. Download jdk8.
  1. Add the following to your build.gradle
buildscript {
  repositories {
     mavenCentral()
  }
dependencies {
     classpath 'me.tatarka:gradle-retrolambda:3.5.0'
  }
}
// Required because retrolambda is on maven central
repositories {
  mavenCentral()
}
apply plugin: 'com.android.application' //or apply plugin: 'java'
apply plugin: 'me.tatarka.retrolambda'

alternatively, you can use the new plugin syntax for gradle 2.1+

plugins {
    id "me.tatarka.retrolambda" version "3.5.0"
}

The plugin will compile the source code with java8 and then replace the class files with the output of retrolambda.

  1. Add these lines to your build.gradle to inform the IDE of the language level.
android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末兽掰,一起剝皮案震驚了整個濱河市芭碍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌孽尽,老刑警劉巖窖壕,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異杉女,居然都是意外死亡瞻讽,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進店門熏挎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來速勇,“玉大人,你說我怎么就攤上這事婆瓜】旒” “怎么了?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵廉白,是天一觀的道長个初。 經(jīng)常有香客問我,道長猴蹂,這世上最難降的妖魔是什么院溺? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮磅轻,結(jié)果婚禮上珍逸,老公的妹妹穿的比我還像新娘逐虚。我一直安慰自己,他們只是感情好谆膳,可當我...
    茶點故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布叭爱。 她就那樣靜靜地躺著,像睡著了一般漱病。 火紅的嫁衣襯著肌膚如雪买雾。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天杨帽,我揣著相機與錄音漓穿,去河邊找鬼。 笑死注盈,一個胖子當著我的面吹牛晃危,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播老客,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼僚饭,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了沿量?” 一聲冷哼從身側(cè)響起浪慌,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎朴则,沒想到半個月后权纤,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡乌妒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年汹想,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片撤蚊。...
    茶點故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡古掏,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出侦啸,到底是詐尸還是另有隱情槽唾,我是刑警寧澤,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布光涂,位于F島的核電站庞萍,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏忘闻。R本人自食惡果不足惜钝计,卻給世界環(huán)境...
    茶點故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧私恬,春花似錦债沮、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至永高,卻和暖如春隧土,著一層夾襖步出監(jiān)牢的瞬間提针,已是汗流浹背命爬。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留辐脖,地道東北人饲宛。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像嗜价,于是被迫代替她去往敵國和親艇抠。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,851評論 2 361

推薦閱讀更多精彩內(nèi)容