Android Kotlin 常见问题解答

为什么 Android 将 Kotlin 作为一等支持语言?

Kotlin 是一种与 Android 兼容的语言,简洁、表达力强,并且设计为类型安全和空安全。它可以与 Java 编程语言无缝协作,因此喜欢 Java 的开发者可以轻松地继续使用 Java,同时逐步添加 Kotlin 代码并利用 Kotlin 库。同时,许多 Android 开发者发现 Kotlin 使开发更快更有趣,因此 Google 希望更好地支持这些 Kotlin 用户。阅读更多关于 Android 的 Kotlin 优先方法

如何在 Android Studio 中使用 Kotlin?

Kotlin 在 Android Studio 中得到完全支持。所有新版本的 Android Studio 都支持使用 Kotlin 文件创建新项目、将 Java 代码转换为 Kotlin、调试 Kotlin 代码等等。

如何在 Android Studio 中调试 Kotlin?

调试 Kotlin 的方式与调试 Java 代码完全相同。您无需执行任何其他操作。

Kotlin 提供了哪些其他 IDE 支持(例如 lint、

自动完成和重构)?

Android Studio 提供了对 Kotlin 的全面工具支持。

Kotlin 的未来发展如何?

JetBrains 对 Kotlin 设计的精心工作是采用该语言的原因之一。Google 正在与 JetBrains 合作,以确保整体的开发者体验非常出色——从语言到框架再到工具。我们很高兴能够携手合作,将 Kotlin 语言转移到一个非营利性基金会。

Kotlin 是开源的吗?

Kotlin 的首选许可证是 Apache 软件许可证 2.0 版(“Apache 2.0”),大多数 Kotlin 软件都以此许可证授权。虽然该项目努力遵守首选许可证,但可能存在例外情况,这些情况将逐案处理。例如,Kotlin 使用的某些第三方依赖项的许可证是不同的开源许可证,但仍与 Apache 2.0 许可证兼容。

如何选择 Java 和 Kotlin 语言?

您不必选择!您可以同时使用两种语言。如果您需要帮助来确定 Kotlin 是否适合您,您可以 在 Android 上试用它 或使用 这些 Kotlin 资源 了解更多关于该语言的信息。

我可以从 Kotlin 调用 Android 或其他 Java 库 API 吗?

可以。Kotlin 提供了 Java 语言互操作性。此设计使 Kotlin 代码能够透明地调用 Java 方法,并结合注释,方便地将仅 Kotlin 功能公开给 Java 代码。不使用任何 Kotlin 特定语义的 Kotlin 文件可以直接从 Java 代码中引用,无需任何注释。结合这些功能,您可以细粒度地混合 Java 代码和 Kotlin 代码。要了解更多信息,请参阅 Kotlin 的互操作文档

Android API 有 Kotlin 参考文档吗?

是的!Google 正在努力使所有 Android API 文档都提供惯用的 Kotlin 参考。您可以在 Android 参考概述页面 上找到可用的 Kotlin 参考文档的链接。如果您正在寻找核心 Kotlin 语言参考,请参阅 Kotlin 标准库参考

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

可以。您可以根据需要采用任意数量的 Kotlin 代码,并使用 Kotlin 与 Java 的互操作性 将其与 Java 代码混合使用。

我可以将 Kotlin 与 C++ 一起使用吗?

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

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

在创建新项目时,Kotlin 现在是 Android Studio 中的默认语言选择。更多信息,请参阅 创建项目

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

在**项目**窗口中选择您的模块,然后选择**文件 > 新建**。选择任何 Android 模板,然后选择**Kotlin**作为**源语言**。更多信息,请参阅 将 Kotlin 添加到现有应用

如何将 Java 代码转换为 Kotlin 代码?

打开一个 Java 文件并选择**代码 > 将 Java 文件转换为 Kotlin 文件**。或者,创建一个新的 Kotlin 文件(**文件 > 新建 > Kotlin 文件/类**),然后将您的 Java 代码粘贴到该文件中。出现提示时,单击**是**将代码转换为 Kotlin。

Kotlin 是否会有并行的文档、示例、Codelab 和模板?

我们正在努力使我们的文档和教育材料尽可能对 Java 和 Kotlin 语言用户都有用。同时,开发者可以依靠 Kotlin 与 Java 语言的出色互操作性以及在 Android Studio 中自动将 Java 代码转换为 Kotlin 的能力。

Kotlin 协程是否可以在 Android 上运行?async/await 呢?

从 Kotlin 1.3 版本开始,Kotlin 协程已经稳定,并且可以在 Android 上按预期工作。有关在 Android 中使用协程的更多信息,请参阅 使用 Kotlin 协程改进应用性能

使用 Kotlin 是否会对性能产生任何影响?

Kotlin 本身不会直接影响性能,但与 Java 一样,您应该仔细考虑如何使用它。例如,在新集合实例之间重复复制可能会影响 GC 性能,调用接受非空类型的方法会为 null 检查添加方法调用(尽管您可以使用 -Xno-param-assertions 在编译器中禁用运行时 null 检查)。

Kotlin 支持哪些版本的 Android?

所有版本!Kotlin 与 JDK 6 兼容,因此使用 Kotlin 的应用可以安全地在较旧的 Android 版本上运行。

在哪里可以学习更多关于使用 Kotlin 的知识?

查看 Kotlin 入门资源