为什么 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 Software License, Version 2.0 ("Apache 2.0"),大部分 Kotlin 软件均根据该协议授权。虽然该项目致力于遵守此首选许可协议,但也会存在例外情况,这些情况将视具体情况处理。例如,Kotlin 使用的某些第三方依赖项受不同的开源许可协议约束,这些协议与 Apache 2.0 许可协议仍然兼容。
我该如何在 Java 和 Kotlin 之间做出选择?
您无需二选一!您可以同时使用这两种语言。如果您需要了解 Kotlin 是否适合您,可以在 Android 上尝试使用它,或者通过这些 Kotlin 资源来了解更多相关信息。
我可以在 Kotlin 中调用 Android 或其他 Java 库 API 吗?
可以。Kotlin 提供了 Java 语言互操作性。这种设计允许 Kotlin 代码透明地调用 Java 方法,并配合注解,使得向 Java 代码公开 Kotlin 专属功能变得非常简单。不使用任何 Kotlin 特定语义的 Kotlin 文件可以直接从 Java 代码中引用,而无需任何注解。总而言之,这使您可以细粒度地混合使用 Java 代码和 Kotlin 代码。要了解更多信息,请参阅 Kotlin 的互操作文档。
你们提供 Android API 的 Kotlin 参考文档吗?
提供!Google 正在努力使所有 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 模板,然后将 Source language 设置为 Kotlin。有关更多信息,请参阅将 Kotlin 添加到现有应用。
如何将 Java 代码转换为 Kotlin?
打开一个 Java 文件,然后选择 Code > Convert Java File to Kotlin File。或者,创建一个新的 Kotlin 文件(File > New > Kotlin File/Class),然后将您的 Java 代码粘贴到该文件中。出现提示时,点击 Yes 将代码转换为 Kotlin。
会有平行的 Kotlin 文档、示例、代码实验室(codelabs)和模板吗?
我们正在努力使我们的文档和教育材料对 Java 和 Kotlin 语言用户都尽可能有用。在此期间,开发者可以依靠 Kotlin 与 Java 语言之间出色的互操作性,以及在 Android Studio 中自动将 Java 代码转换为 Kotlin 的功能。
Kotlin 协程在 Android 上有效吗?async/await 呢?
Kotlin 协程自 Kotlin 1.3 版本起已趋于稳定,并且可以在 Android 上按预期工作。有关在 Android 上使用协程的更多信息,请参阅利用 Kotlin 协程提升应用性能。
使用 Kotlin 会有性能影响吗?
Kotlin 不会产生直接的性能影响,但就像使用 Java 一样,您应该谨慎考虑使用方式。例如,在新的集合实例之间重复复制可能会影响 GC(垃圾回收)性能,而调用接受非空类型的方法会增加一次针对空值的检查(不过,您可以通过编译器标志 -Xno-param-assertions 禁用运行时的空值检查)。
Kotlin 支持哪些 Android 版本?
所有版本!Kotlin 兼容 JDK 6,因此使用 Kotlin 编写的应用可以安全地在较旧的 Android 版本上运行。