2016-07-06 151 views
5

因此,我今天正在將Android Studio項目遷移到Java 8,Android API級別24和Jack工具鏈,以檢查新功能,特別是lambdas和CompletableFutureAndroid支持庫中的CompletableFuture?

不幸的是,CompletableFuture似乎只能從API級別24(我的該項目的最低API級別爲16)提供。

您是否知道將CompletableFuture帶入Android支持庫的計劃?它看起來像Promise模式的一個很好的解決方案。

+4

我不知道Google的支持庫計劃。但請注意'streamsupport'項目還在其'streamsupport-cfuture'模塊中提供了'CompletableFuture'的後端。這在Android和所有Java版本> = 6上運行(並得到定期測試)。請參閱https://sourceforge.net/projects/streamsupport/ –

+0

@StefanZobel如果您將您的評論作爲我的問題的答案,我將接受它作爲最好的回答(因爲它涵蓋Android) –

+0

謝謝。已經完成了。見下文。 –

回答

7

streamsupport項目在其streamsupport-cfuture組件中提供了一個CompletableFuture的backport,可用於Android開發,支持所有設備。

3

相關,或許對您有用:Java: Optimizing an application using asynchronous programming

這個答案是關於CompletableFuture對Java 7的使用在評論上述庫,而不是在Android上。然而,lib的文檔聲明它可以在Android上運行。雖然我自己並沒有使用它。

+1

這應該是一條評論。 –

+0

在Android上不起作用。仍然需要API 24,這是最初的問題。 – Bisclavret

+0

@Bisclavret我正在談論[streamsupport](https://sourceforge.net/projects/streamsupport/)這個答案中提到的(特別是'streamsupport-cfuture'組件)。那個只需要14或15級的API,並且工作得很好。 – Sartorius