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

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

Android 为何将 Kotlin 语言列为一级支持语言?

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

如何在 Android Studio 中使用 Kotlin?

Android Studio 完全支持 Kotlin。Android Studio 的所有新版本都支持使用 Kotlin 文件创建新项目、将 Java 语言代码转换成 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 软件的大部分内容都是根据该许可授权用户使用。尽管该项目将尽可能遵循此首选许可,但也可能存在将根据具体情况进行处理的例外情况。例如,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 代码。

Kotlin 在 Android 开发中能实现协程吗?能实现 async/await 吗?

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 资源