2016-07-06 149 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