在Android中使用Java 8的lambda運算式

來源:互聯網
上載者:User

在Android中使用Java 8的lambda運算式
 在Android中使用Java 8的lambda運算式作為一名Java開發人員,或許你時常因為缺乏閉包而產生許多的困擾。幸運的是:Java’s 8th version introduced lambda functions給我們帶來了好訊息;然而,這咩有什麼卵用,在android上面,我們仍舊只能使用Java7.那麼現在情況如何?哈哈,我們android developer也能用啦!我們的老夥計Esko Luontola發現了在android上面使用lambda的方法,真是棒啊!那麼,我們來看看是怎麼實現的吧!Just as there was Retroweaver et al. for running Java 5 code with generics on Java 1.4。Retrolambda允許我們能夠在Java 8或者更低的版本上使用lambda運算式。這真是太棒了:在Java 7的虛擬機器中,我們能夠運行在8上編譯完成的代碼。現在,我們使用Android Studio和gradle來實現吧,和Retrolambda簽訂契約,成為馬猴燒酒吧(霧!Install JAVA 8 SDK能搞起,前提是要使用Java 8的SDK,在這裡能夠下載:JAVA 8好了,現在在android studio中設定使用java 8吧。

Mac:

File > Project structure. 需要將這樣設定:

別的可以參照設定。

Set up Gradle你真棒呀!差不多你快好了。最後的步驟就是編輯Gradle的一些設定檔了。我們將會使用Retrolambda plugin from Evan Tatarka,這樣才能夠支援lambda運算式。First、開啟app模組中的build.gradle檔案,改變compileOption節點下的配置:
android {    }    compileOptions {        sourceCompatibility JavaVersion.VERSION_1_8        targetCompatibility JavaVersion.VERSION_1_8    }}
Second、在同樣的檔案中添加:
buildscript {    repositories {        mavenCentral()    }    dependencies {        classpath 'me.tatarka:gradle-retrolambda:2.5.0'    }}repositories {    mavenCentral()}apply plugin: 'me.tatarka.retrolambda'

然後就OK啦,嘗試build你的工程吧,肯定棒棒噠~

需要注意的是:Retrolambda僅僅允許你使用Java 8中的lambda運算式,其他的特性在android中是行不通的。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.