安卓上的 Kotlin:安卓 KTX、Kotlin Bootcamp Udacity 等等

  • Diogo Carleto
  • 姚佳灵

2018 年 6 月 8 日

话题:移动Android语言 & 开发

最近,谷歌展示了一系列的努力来改善 Kotlin 开发人员在安卓平台上的体验,其中包括安卓 KTXKotlin Bootcamp Udacity 课程、安卓 Studio 3.2 中的Lint 支持等等。

谷歌产品管理总监 Stephanie Cuthbertson 说, 自谷歌去年宣布支持 Kotlin 以来,开发者社区已经接纳了该语言,95% 的开发人员说他们非常乐意使用 Kotlin 来进行安卓开发。使用 Kotlin 的 Play Store 应用程序数量自那时起已经增长了 6 倍。

Kotlin 受到官方支持以构建安卓应用程序,可以与 Java 编程语言及库完全地交互,并且包含 IntelliJ 和安卓 Studio。Kotlin 提供强类型系统、类型推断、空安全、属性、lambdas 扩展、协程、高阶函数等。

Kotlin Bootcamp Udacity 课程是自控进度的免费在线课程,旨在教授 Kotlin 的基础知识。该 Kotlin 入门课程是由谷歌专家和 Udacity 合作创立的,适用于有一定编程经验的人员。

Kotlin Bootcamp Udacity 课程从 Kotlin 语言的基础开始,包括简单的语句,调用函数和声明类,而第二部分深入更高级的主题,如集合、常量、如何编写扩展、实现泛型、应用注解、lambda 表达式、高阶函数等。

在安卓 Studio 3.2 中已经改进了Lint 支持,包含了很多新功能。添加了新的 Lint 检查,以确保 Java 代码和 Kotlin 代码能够良好地交互。这些检查包括查找 Nulability 注解的存在、最后放置 lambda 参数等。下面的设置语句必须添加到 build.gradle 中以启用它:


android {
    lintOptions {
        check 'Interoperability'
    }
}

安卓 KTX是一组作为 Jetpack 一部分的可用 Kotlin 扩展。它为 Kotlin 的使用优化了Jetpack和安卓平台 API。安卓 KTX 旨在让 Kotlin 的安卓开发更简洁、愉快和符合语言习惯。它可以让你将以下 Kotlin 代码:


view.viewTreeObserver.addOnPreDrawListener(
  object : ViewTreeObserver.OnPreDrawListener {
    override fun onPreDraw(): Boolean {
      viewTreeObserver.removeOnPreDrawListener(this)
      actionToBeTriggered()
      return true
    }
});

转换成为以下更简洁的 Kotlin 代码:


view.doOnPreDraw { actionToBeTriggered() }

最后要提的是,安卓 Runtime(Android Runtime,简称 ART)已经在安卓 P 中进行了调优,因此用 Kotlin 构建的应用程序可以运行得更快。谷歌已经在官方文档中推出了 Kotlin 代码片段,并发布了API 参考文档

感谢冬雨对本文的审校。

移动Android语言 & 开发