## **Kotlin在Android中FAQ(常见问题解答)**
**为什么Android将Kotlin作为最优先支持的语言?**
Kotlin是一种和Android兼容的语言,简洁,富有表现力,并且被设计为类型和空安全。它和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代码,以及更多。查看Get Start with Kotlin。
**如何在Android Studio中调试Kotlin ?**
调试Kotlin的工作就像调试Java代码一样。你不需要做任何不同的事情。
**为Kotlin提供了什么样的其它IDE支持(如lint、autocomplete、refactorings等)?**
在Android Studio 3.0中,IDE为Kotlin提供了完整的工具支持。然而,我们正在研究一些已知的问题和限制。
**Kotlin的未来会怎么样?**
JetBrains对Kotlin设计的深思熟虑是我们拥抱语言的原因之一。谷歌正在与JetBrains合作,以确保从语言、框架到工具的全面开发。而且,我们很高兴能共同努力将Kotlin语言转换到一个非盈利的基金会。
**Kotlin开源吗?**
Kotlin的首选许可证是Apache Software License,Version("Apache 2.0"),而且大多数Kotlin软件都是获得Apache 2.0下许可的。虽然该项目将努力坚持使用优先许可证,可能在一些个案的处理上会有一些例外情况。例如,Kotlin使用的某些第三方依赖项可能在不同的开放源码许可下获得许可,这些许可证仍然与Apache 2许可证兼容。
**我如何在Java和Kotlin语言之间进行选择?**
你不需要选择!您可以同时使用这两种方式。如果你需要帮助来探索Kotlin是否适合你,你可以在Android上试试,或者使用these Kotlin resouces中学习更多关于语言知识。
**我可以从Kotlin调用Android或其它Java语言库的API吗?**
是的。Kotlin提供Java语言互操作。
**我可以在同一个项目中同时使用Java文件和Kotlin文件吗?**
是的。你可以使用Kotlin's interoperability with Java,根据你的喜欢或多或少的采用Kotlin,并将其与Java代码混合。
**我能在Kotlin中使用c++吗?**
是的,Kotlin完全支持JNI。只需使用the external modifier简单标记JNI方法。
**我如何将Kotlin添加到我的新项目中?**
当您在Android Studio中创建一个新项目时,只需选择Include Kotlin support复选框。更多相关信息,请查阅Get Started with Kotlin。
**我如何将Kotlin添加到现有的项目中?**
在Project窗口中选择你的模块,然后选择File>New,选择任何Android模板,然后选择Kotlin作为Source language。更多相关信息,请查阅Get Started with Kotlin。
**我如何将Java语言代码转换为Kotlin ?**
打开Java文件,并选择Code>Convert Java File to Kotlin File。或者,创建一个新的Kotlin文件(File>New> Kotlin File/Clas),然后在提示时将Java代码粘贴到该文件中,单击Yes将代码转换为Kotlin。更多相关信息,请查阅Get Started with Kotlin。
**在Kotlin中是否会有并行文档,样本,codelabs,和模板?**
我们正在努力使我们的文档和教育材料尽可能地对Java和Kotlin语言用户都有用。与此同时,开发人员可以依赖于Kotlin与Java语言的优秀互操作性,以及在Android Studio中自动将Java语言代码转换为Kotlin的能力。
**Kotlin在Android上如何协同工作?如何异步/等待?**
Kotlin协同目前应该工作,但它们目前是一个实验设计。因此,Kotlin对未来的地位没有任何保证,因此,Android也没有。
**Kotlin对APK大小/方法数量有什么影响?**
Kotlin运行时为你的调试APK增加了大约7000种方法和1MB。如果你使用Kotlin来代替项目中的另一个库,得到影响可能会更小,比如Guava或RxJava。当你使用Proguard优化APK时,这个大小也会减少,就像其他应用代码和库一样。
**使用Kotlin有什么性能影响吗?**
Kotlin没有直接的性能影响,但是就像使用Java语言一样,您应该考虑如何使用它。例如,在新集合实例之间重复复制可能会影响GC性能,调用一个接受非空类型的方法,添加一个方法调用为空检查(虽然您可以在编译器中使用-Xno-param-assertions禁止运行时空检查)。
**Kotlin支持Android的哪些版本 ?**
所有版本!Kotlin与JDK 6兼容,所以使用Kotlin的应用可以安全地运行在较老的Android版本上。
**我在哪里可以学到更多关于使用Kotlin的知识?**
阅读Resource to Learn Kotlin。
- 开发
- Kotlin和Android
- 开始使用Kotlin
- Kotlin在Android中FAQ
- 学习Kotlin的资源
- 参考
- 综述
- Kotlin适合于Android
- 基本介绍
- 基本语法
- Idioms
- 基础
- 基本类型
- 包
- 控制流
- 返回和跳转
- 类和对象
- 类和继承
- 属性和字段
- 接口
- 可见性修饰符
- 扩展
- 数据类
- 密封类
- 泛型
- Nested Classes
- 枚举类
- Objects
- Delegation
- Delegated Properties
- 函数和Lambda
- 函数
- Lambda
- 内联函数
- Coroutines
- 其它
- 解构声明
- 集合
- 范围
- 类型检查和转换
- This表达式
- 相等
- 操作符重载
- 空安全
- 异常
- 注解
- 反射
- 类型安全构建器
- 类型别名
- 核心库
- 标准库
- Java互操作
- 在Kotlin中调用Java
- 在Java中调用Kotlin
- 工具
- Documenting Kotlin Code
- Using Kapt
- Using Gradle
- Compiler plugins
- 学习指南
- Getting started
- Getting Started With IDEA
- Working with the Command Line Compiler
- Konas
- Android
- Getting Started With Android Development
- Kotlin Android Extensions
- Android Frameworks
- 书籍
- 更多资源