Google 致力于为黑人社区推动种族平等。查看具体举措

在 Android 开发中使用 Kotlin 语言的常见问题解答

Android 为何将 Kotlin 语言列为首要支持语言?

Kotlin 是一种与 Android 兼容的语言,它不仅语法简洁、更具表达性,还具备类型安全和空值安全的特性。它与 Java 语言可以无缝互通,喜爱 Java 语言的开发者可以在继续使用 Java 语言的同时,逐步加入 Kotlin 代码并充分利用 Kotlin 库,轻松完成转换。此外,许多 Android 开发者已经发现 Kotlin 不仅可以提高开发速度,还能为编程带来更多乐趣,因此,我们希望为这些 Kotlin 用户提供更好的支持。您可以参阅此页,详细了解 Kotlin 和 Android。

 

我已经在使用 Kotlin 语言,有哪些变化值得关注?

短期内您将注意到的最大变化是:Android Studio 3.0 及更高版本中包含了经过全面测试的 Kotlin 支持。我们相信,这一变化将为您带来更轻松、更稳定的开发体验。

 

如何在 Android Studio 中使用 Kotlin?

Android Studio 3.0 及更高版本全面支持 Kotlin。以前,您需要添加 Kotlin 插件才能使用 Kotlin;而现在,所有新发布的 Android Studio 版本中都内置了这些工具。因此,您无需执行任何额外步骤,就可以直接使用 Kotlin 文件创建新项目,将 Java 语言代码转换成 Kotlin 代码,调试 Kotlin 代码以及执行其他操作。详情请参阅“Kotlin 使用入门”。

 

如何在 Android Studio 中调试 Kotlin 代码?

Kotlin 代码的调试方法与 Java 代码相同。您不需要执行任何其他操作。

 

IDE 还为 Kotlin 提供其他哪些类型的支持(例如 Lint、自动填充、重构等)?

从 Android Studio 3.0 开始,我们的 IDE 已为 Kotlin 提供全面的工具支持。但是,目前还存在一些已知问题和限制,我们正在努力解决。

 

Kotlin 前景如何?

JetBrains 开发的 Kotlin 语言有着深思熟虑的设计理念,这是我们采纳该语言的原因之一。Google 正在与 JetBrains 开展合作,确保开发者在整个开发过程中(从语言到框架再到工具)都能获得出色的体验。此外,我们非常期待通过双方的努力,为 Kotlin 语言创立一个非营利基金会,以便更好地推进后续开发。

 

Kotlin 是开源语言吗?

Kotlin 的首选许可是 Apache Software License 2.0 版(“Apache 2.0”),Kotlin 软件的大部分内容都是根据 Apache 2.0 授权用户使用。尽管该项目将尽可能遵循此首选许可,但也可能存在将根据具体情况进行处理的例外情况。例如,Kotlin 使用的部分第三方依赖项可能使用不同的开放源代码许可,但这些许可与 Apache 2 许可并不冲突。

 

如何在 Java 和 Kotlin 语言之间做出选择?

您无需二选一!您可以根据需要同时使用两种语言。如果您需要了解 Kotlin 是否适合自己,可以在 Android 开发中试用 Kotlin 语言,也可以参阅这些 Kotlin 资源,详细了解该语言。

 

我可以在 Kotlin 中调用 Android 或其他 Java 语言库的 API 吗?

可以。Kotlin 与 Java 语言具有互操作性。此设计让 Kotlin 代码可以透明地调用 Java 语言方法;对于 Kotlin 独有的功能,可采用注释轻松向 Java 代码公开。 对于未使用任何 Kotlin 特有语义的 Kotlin 文件,Java 代码可以直接引用,无需添加任何注释。 两相结合,您就可以同时使用 Java 代码和 Kotlin 代码。要了解详情,请参阅 Kotlin 互操作文档

 

你们有 Android API 的 Kotlin 参考文档吗?

有!我们正努力使所有 Android API 文档都包含惯用 Kotlin 参考信息。您可以在 Android 参考概览页面中找到指向可用 Kotlin 参数的链接。如果您要寻找核心 Kotlin 语言参考信息,请转到 Kotlin 标准库参考文档

 

我可以在同一个项目中同时使用 Java 文件和 Kotlin 文件吗?

可以。您可以根据自己的喜好或多或少采用 Kotlin 语言进行开发,然后利用 Kotlin 与 Java 的互操作性将 Kotlin 代码与 Java 代码结合在一起。

 

我可以在 Kotlin 代码中使用 C++ 代码吗?

可以,Kotlin 完全支持 JNI。您只需使用 external 修饰符标记 JNI 方法即可。

 

如何将 Kotlin 代码添加到我的新项目中?

在创建新项目时,Kotlin 是 Android Studio 中的默认语言选项。如需了解详情,请参阅创建项目

 

如何将 Kotlin 代码添加到我的现有项目中?

Project 窗口中选择相应模块,然后依次选择 File > New,选择任意 Android 模板,然后选择 Kotlin 作为 Source language。如需了解详情,请参阅将 Kotlin 添加到现有应用

 

如何将 Java 语言代码转换成 Kotlin 代码?

打开 Java 文件,然后依次选择 Code > Convert Java File to Kotlin File。您也可以新建一个 Kotlin 文件 (File > New > Kotlin File/Class),然后将 Java 代码粘贴到此文件中。界面上出现提示时,点击 Yes 即可将 Java 代码转换成 Kotlin 代码。

 

你们会提供有关 Kotlin 的配套文档、示例、codelab 和模板吗?

为了向 Java 和 Kotlin 语言用户尽可能提供最实用的帮助,我们正在努力完善我们的文档和教程资料。与此同时,开发者可以借助 Kotlin 与 Java 语言之间出色的互操作性,并利用相关功能在 Android Studio 中将 Java 语言代码自动转换成 Kotlin 代码。

 

在 Android 开发中能实现 Kotlin 协程吗?能实现异步/等候吗?

Kotlin 协程从 Kotlin 版本 1.3 开始保持稳定,在 Android 开发中能够正常实现。如需详细了解如何在 Android 开发中使用协程,请参阅利用 Kotlin 协程提升应用性能

 

使用 Kotlin 会影响性能吗?

使用 Kotlin 不会对性能产生直接影响,但就像使用 Java 语言一样,您应该仔细考虑如何使用这种语言。例如,在新的集合实例间重复复制会影响 GC 性能,调用允许非 null 类型的方法会导致调用 null 值检查方法(当然,您可以在编译器中使用 -Xno-param-assertions 停用运行时 null 值检查)。

 

Kotlin 支持哪些 Android 版本?

所有版本都支持!Kotlin 与 JDK 6 兼容,因此使用 Kotlin 语言开发的应用可以在较早版本的 Android 上安全运行。

 

在哪里可以了解更多有关使用 Kotlin 的信息?

请参阅其他 Kotlin 资源