Kotlin 资料
https://kotlinlang.org/docs/reference/ 官方
https://github.com/JetBrains/kotlin/releases Kotlin SDK
https://github.com/JetBrains/kotlin
Kotlin Programming Language
Welcome to Kotlin! Some handy links:
- Kotlin Site
- Getting Started Guide
- Try Kotlin
- Kotlin Standard Library
- Issue Tracker
- Forum
- Kotlin Blog
- Follow Kotlin on Twitter
- Public Slack channel
- TeamCity CI build
Editing Kotlin
IDE工具:IntelliJ IDEA 社区版 或 Eclipse
1. IntelliJ IDEA
https://github.com/JetBrains/intellij-community
https://www.jetbrains.com/idea/
https://www.jetbrains.com/idea/download/#section=windows
https://www.jetbrains.com/idea/download/download-thanks.html?platform=windows&code=IIC 跳转去下载
https://download.jetbrains.com/idea/ideaIC-2018.2.5.exe exe下载
https://download.jetbrains.8686c.com/idea/ideaIC-2018.2.5.win.zip zip包下载
延伸阅读:
IntelliJ IDEA版本:Ultimate、Community、EAP版本的区别
Community:
社区版,免费,但是功能有限制,Android Studio就是基于这个版本定制的。
http://idea-intellij.com/intellij-community/
Ultimate:
终极版,收费,功能无限制。
http://idea-intellij.com/intellij-ultimate/
EAP:
终极版的免费版,免费,功能无限制,但是每隔30天要重装一次。
http://idea-intellij.com/intellij-eap/
2. Google Kotlin
https://developer.android.com/kotlin/
3. 在 Android 开发中开始使用 Kotlin
https://developer.android.com/kotlin/get-started#kotlin
Kotlin 在 Android Studio 3.0 及更高版本中完全受支持,因此,您可以轻松地使用 Kotlin 文件创建新项目,向现有项目中添加 Kotlin 文件以及将 Java 语言代码转换为 Kotlin 代码。然后,您可以使用 Android Studio 的所有现有工具处理 Kotlin 代码,例如自动填充、lint 检查、重构和调试等。
想要立即开始使用?请参阅我们的 Kotlin 示例。要详细了解 Kotlin 语言,请查看 Kotlin 学习资源。
将 Kotlin 添加到现有应用中
要掌握 Kotlin 使用技能并熟练使用 Kotlin,我们建议您采用渐进式方法:
- 首先用 Kotlin 编写测试。测试可用于检查代码回归性,并且在重构代码时更有把握。将现有 Java 代码转换为 Kotlin 代码时,测试特别有用。由于测试在打包过程中不会与应用捆绑在一起,因此它们是将 Kotlin 代码添加到代码库的安全位置。
- 用 Kotlin 编写新代码。在将现有 Java 代码转换为 Kotlin 代码之前,请尝试向应用添加一小段新的 Kotlin 代码。从小型类或顶级辅助函数开始。请务必在 Kotlin 代码中添加相关注释,以确保与 Java 代码的正确互操作性。
-
将现有代码更新为 Kotlin 代码。对编写新的 Kotlin 代码感到顺手后,您可以将现有的 Java 代码转换为 Kotlin 代码。不妨提取一小部分 Java 功能并转换为 Kotlin 类和顶级函数。
首先使用 Android Studio 代码转换器将 Java 文件中的代码转换为 Kotlin 代码。您还可以将从剪贴板粘贴的 Java 代码转换为 Kotlin 文件。
Android API 和 Kotlin 示例
Kotlin 与 Java 语言可以完全互操作,因此调用 Android API 通常看起来与匹配的 Java 代码完全相同。但是现在,您可以将这些方法调用与 Kotlin 的语法功能相结合。
此外,我们正努力使所有 Android API 文档都包含惯用 Kotlin 参考。您可以在 Android 参考概览中找到指向可用 Kotlin 参考的链接。
下面是一些在 Kotlin 代码中调用 Android API 的示例(与采用 Java 语言的相同代码相对比):
声明 Activity
class MyActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity)
}
}
创建点击监听器
val fab = findViewById(R.id.fab) as FloatingActionButton
fab.setOnClickListener {
...
}
创建项目点击监听器
private val mOnNavigationItemSelectedListener
= BottomNavigationView.OnNavigationItemSelectedListener { item ->
when (item.itemId) {
R.id.navigation_home -> {
mTextMessage.setText(R.string.title_home)
return@OnNavigationItemSelectedListener true
}
R.id.navigation_dashboard -> {
mTextMessage.setText(R.string.title_dashboard)
return@OnNavigationItemSelectedListener true
}
}
false
}
最佳做法
当您能熟练使用 Kotlin 时,请尝试遵循以下准则:
- 侧重于可读性,而不是尽量缩短代码行。用 Kotlin 语法糖很容易过度。
- 最好确立最适合您团队的编码规范和惯用语。Kotlin 和 Android Kotlin 样式指南为确定 Kotlin 代码格式提供了很好的建议。
Kotlin编码规范:
https://kotlinlang.org/docs/reference/coding-conventions.html 官方编码规范
https://developer.android.com/kotlin/style-guide Google Kotlin编码规范
4. Google Kotlin学习资源
https://developer.android.com/kotlin/resources
Kotlin 学习资源
Kotlin 是一种开源语言,它拥有自己的文档和社区,因此我们不在此处提供有关实际语言的文档。如果您是 Kotlin 新手,建议您查看以下资源。
文档和示例
- 在 Android 开发中开始使用 Kotlin:在 Android Studio 中开始使用 Kotlin 的简短指南。
- Kotlin 示例:使用 Kotlin 构建的 Android 示例应用集合。
- Kotlinlang.org:官方 Kotlin 网站。涵盖从指南到基本语法再到 Kotlin 标准库参考的所有内容。
- Kotlin Koans Online:在线 IDE 中的一系列练习,可帮助您学习 Kotlin 语法。
视频
- Udacity 课程:“面向程序员的 Kotlin 训练营”。由 Google 的 Kotlin 专家讲解的 Kotlin 编程语言基础知识。适用于 Java 或其他面向对象语言的程序员。
- YouTube:搜索“Kotlin on Android”可搜到各种精彩的技术讲座。
- O'Reilly 课程:Kotlin 课程“Kotlin 编程入门”时长 8 小时,由 JetBrains 开发者 Hadi Hariri 讲解。需要订阅;可以免费试订 10 天。
- Treehouse 课程:“面向 Java 开发者的 Kotlin”讲授了 Kotlin,重点放在 Android 上。需要订阅;可以免费试订 7 天。
- Udemy 课程:“面向初学者的 Kotlin”从零开始讲解了 Kotlin。需要订阅;新学员可享受折扣。
图书
- Kotlin 实际应用:由 JetBrains 的 Kotlin 开发者 Dmitry Jemerov 和 Svetlana Isakova 撰写。
- 面向 Android 开发者的 Kotlin:由 Antonio Leiva 撰写。介绍 Kotlin 的首批图书之一。
- 通过 Kotlin 开发 Android 应用:由 Marcin Moskala 和 Igor Wojda 撰写。
Kotlin 网站上列出了更多图书。
https://www.manning.com/books/kotlin-in-action Kotlin实际应用
5. Google Kotlin 案例
https://developer.android.com/samples/?language=kotlin
6. Kotlin upgrade
https://blog.jetbrains.com/kotlin/2018/10/kotlin-1-3/
How to upgrade
As always, you can try Kotlin online at play.kotl.in.
- In Maven, Gradle and npm: Use
1.3.0
as the version number for the compiler and the standard library. See the docs here. - In IntelliJ IDEA: 2018.3 has Kotlin 1.3 bundled, in earlier versions Install or update the Kotlin plugin to version 1.3.
- In Android Studio: Install or update the plugin through Plugin Manager.
- In Eclipse: install the plugin using Marketplace.
- The command-line compiler can be downloaded from the Github release page.
7. 在 Android 开发中使用 Kotlin 语言的常见问题解答
https://developer.android.com/kotlin/faq
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 代码添加到我的新项目中?
当您在 Android Studio 中创建新项目时,只需选中 Include Kotlin support 复选框即可。有关详情,请参阅 Kotlin 使用入门。
如何将 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 使用入门。
你们会提供有关 Kotlin 的配套文档、示例、codelab 和模板吗?
为了向 Java 和 Kotlin 语言用户尽可能提供最实用的帮助,我们正在努力完善我们的文档和教程资料。与此同时,开发者可以借助 Kotlin 与 Java 语言之间出色的互操作性,并利用相关功能在 Android Studio 中将 Java 语言代码自动转换成 Kotlin 代码。
Kotlin 在 Android 开发中能实现协程吗?能实现异步/等候吗?
Kotlin 协程目前应该可以实现,但这些特性还处于实验设计阶段。因此,Kotlin 不能保证它们未来的可用状态,Android 自然也无法做出承诺。
Kotlin 对 APK 大小/方法数有什么影响?
Kotlin 运行时会导致您的调试 APK 增加大约 7000 个方法和约 1MB 的大小。如果您使用 Kotlin 替换项目中的另一个库(例如 Guava 或 RxJava),净影响可能会减小。如果您像优化其他应用代码和库一样,使用 ProGuard 对 APK 进行发布前优化,APK 的大小也会减小。
使用 Kotlin 会影响性能吗?
使用 Kotlin 不会对性能产生直接影响,但就像使用 Java 语言一样,您应该精心考虑如何使用这种语言。例如,在新的集合实例间重复复制会影响 GC 性能,调用允许非空类型的方法会导致调用空值检查方法(当然,您可以在编译器中使用 -Xno-param-assertions
停用运行时空值检查)。
Kotlin 支持哪些 Android 版本?
所有版本都支持!Kotlin 与 JDK 6 兼容,因此使用 Kotlin 语言开发的应用可以在较早版本的 Android 上安全运行。
在哪里可以了解更多有关使用 Kotlin 的信息?
请参阅 Kotlin 学习资源。
8. Kotlin 和 Java交互
https://developer.android.com/kotlin/interop
9. 构建第一个
https://codelabs.developers.google.com/codelabs/build-your-first-android-app-kotlin/index.html#0
参考:
https://www.cnblogs.com/Jetictors/p/7723018.html Kotlin——初级篇(一):最详细的环境搭建