作家
登录

如何在Android N 预览版中使用Java8的新特性

作者: 来源: 2017-10-25 12:41:58 阅读 我要评论

沙龙晃荡 | 去哪儿、陌陌、ThoughtWorks在主动化运维中的实践!10.28不见不散!


Android团队宣布的Android N Preview中给我们带来了很多晋升,包含由Jack编译器供给的Java 8支撑。在这篇文┞仿中,我们将来看看它毕竟对Android开辟者意味着什么,以及若何测验测验新的说话特点。

概览

java.util.function

在这篇文┞仿中,去介绍Oracle Java 8的新特点并没有太大年夜意义 —— 很多信息已经在互联网上有了。

另一方面,Android 官方的Java 8通知布告留下了很多开放的问题给开辟者们,感到上并非所有的原生 Java 8 功能都是可用的。更具体的 技巧通知布告确认了这一点。我们可以根据在 Android N 中的可用性,将这些说话特点分类如下:

Android Gingebread (API 9)及以上:

  • Lambda 表达式

  • Android N及以上:

    • 默认和静态interface办法

    • 可反复的注解

    • 【编辑推荐】

      1. 10 个最终编译成 JavaScript 的脚本说话
      2. 【分享】Java反序列化马脚大年夜懂得到实践
      3. Java开辟者的福音:应用 Visual Studio Code 调试 Java 应用法度榜样
      4. 由 Eclipse 基金会接办的 Java EE 正在产生改变
      5. 国内最火的 HTML、CSS、JavaScript 开源项目 Top 榜,你知若干?
      【义务编辑:张燕妮 TEL:(010)68476606】

      流(Streams)

    • 反射APIs

    所以对Java 8特点和应用的minSdkVersion之间的接洽关系性,开辟者必须去精心选择。我们也必须留意到说话向后兼容是由Jack编译器供给的。在概念上,Jack编译器将javac,ProGuard,以及dex的功能归并 到了一个转换步调中。这意味着个中没有中心的Java字节码可用,且像是JaCoCo和Mockito的对象将无法工作,DexGuard也一样 (ProGuard的企业版本)。让我们祷告这只是一个早期的preview版本,且这些问题将在将来被修复。

    Lambda表达式以及相干的函数功能APIs —— 这是一个每个Android开辟都邑爱好的器械。这类功能将会对增长代码可读性极为有效 —— 它替代了供给事宜监听器的匿名内部类。而之前只能经由过程额外的对象来实现,或者由Android Studio编辑器去折叠代码。

    默认及静态interface办法可以赞助我们削减额外的对象类的数量,但显然不是最须要的特点。还有一些其他的新增功能,我欲望去说的更具体一些,是以不在本文典范围内。

    对我来说最有趣的事 —— Java 8 流(Streams) —— 在当前的预览版中弗采取。我们可以发明事实上它刚被merge到AOSP源码,所以期望可以鄙人个N Preview 或者 Beta release中见到它。如不雅你实袈溱等不及去浏览 —— 可以尝尝应用 Lightweight-Stream-API,今朝的一个开源向后兼容。

    总结

    在这篇文┞仿中,我们懂得了Java 8的用例,以及今朝其在Android N Preview SDK的实现情况。我们也看到了当前Jack编译器的限制,及其在最后宣布前可能被修复的功能。



      推荐阅读

      为什么CIO认为企业云一定会促进数字业务?

    沙龙晃荡 | 去哪儿、陌陌、ThoughtWorks在主动化运维中的实践!10.28不见不散! 在蓬勃成长的数字营业中,可以采取企业袈淦以获得可行的不雅点,策略和办法。如今的事实注解,云计算思惟领>>>详细阅读


    本文标题:如何在Android N 预览版中使用Java8的新特性

    地址:http://www.17bianji.com/lsqh/38185.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)