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:

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,我们建议您采用渐进式方法:

  1. 首先用 Kotlin 编写测试。测试可用于检查代码回归性,并且在重构代码时更有把握。将现有 Java 代码转换为 Kotlin 代码时,测试特别有用。由于测试在打包过程中不会与应用捆绑在一起,因此它们是将 Kotlin 代码添加到代码库的安全位置。
  2. 用 Kotlin 编写新代码。在将现有 Java 代码转换为 Kotlin 代码之前,请尝试向应用添加一小段新的 Kotlin 代码。从小型类或顶级辅助函数开始。请务必在 Kotlin 代码中添加相关注释,以确保与 Java 代码的正确互操作性。
  3. 将现有代码更新为 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

KOTLIN

class MyActivity : AppCompatActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity)
  }
}

创建点击监听器

KOTLIN

val fab = findViewById(R.id.fab) as FloatingActionButton
fab.setOnClickListener {
  ...
}

创建项目点击监听器

KOTLIN

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 新手,建议您查看以下资源。

文档和示例

视频

  • 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 网站上列出了更多图书。

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——初级篇(一):最详细的环境搭建

Kotlin 资料的更多相关文章

  1. 最全android Demo

    1.BeautifulRefreshLayout-漂亮的美食下拉刷新 https://github.com/android-cjj/BeautifulRefreshLayout/tree/Beauti ...

  2. 推荐两份学习 Kotlin 和机器学习的资料

    最近 Kotlin 和人工智能比较火,有不少同学留言问我怎么学习 Kotlin,怎么学习机器学习,今天就给大家推荐两份不错的学习资料. 1. Kotlin 学习资料其实,在我看来最好的学习资料就是 K ...

  3. Hello Kotlin! Kotlin学习资料

    今天谷歌搞了条大新闻.宣布Kotlin成为android开发的一级(One Class)语言,这说明谷歌是被甲骨文恶心坏了,打算一步步脱离掉java或者说是甲骨文公司的束缚了.原先网上大家还琢磨着会不 ...

  4. 用Kotlin语言重新编写Plaid APP:经验教训(II)

    原文标题:Converting Plaid to Kotlin: Lessons learned (Part 2) 原文链接:http://antonioleiva.com/plaid-kotlin- ...

  5. Kotlin偏好设置

    Kotlin的强悍震精了我,android中每个应用都会用到SharedPreference在Kotlin中使用竟是如此简单! package com.android.extkt import and ...

  6. 【腾讯Bugly干货分享】你为什么需要 Kotlin

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/xAFKGarHhfQ3nKUwPDlWwQ 一.往事 ...

  7. kotlin, 一种新的android平台一级开发语言

    最近看到一则科技新闻, 大致内容是google将kotlin语言作为android应用开发的一级语言, 与java并驾齐驱, 这是一个开发界的大事件大新闻, 连google的亲儿子go语言也没有这种待 ...

  8. Kotlin学习第一课:从对比Java开始

    1. 介绍 今年初,甲骨文再次对谷歌所谓的安卓侵权使用Java提起诉讼,要求后者赔偿高达90亿美元.随后便传出谷歌因此计划将主力语言切换到苹果主导的Swift,不过这事后来没了跟进. 但谷歌在这两天的 ...

  9. Kotlin入门第二课:集合操作

    测试项目Github地址: KotlinForJava 前文传送: Kotlin入门第一课:从对比Java开始 初次尝试用Kotlin实现Android项目 1. 介绍 作为Kotlin入门的第二课, ...

随机推荐

  1. WAS启动报错Service failed to start. startServer return code = -1

    http://www-01.ibm.com/support/docview.wss?uid=swg21368020 Problem(Abstract) Attempts to start IBM We ...

  2. 用C++做微信公众平台开发的后台开发时,用sha1加密验证的方法

    微信公众平台开发时,须要验证消息是否来自微信server,这要用到sha1加密算法.官网上给的是php的sha函数,C++中要用到以下这个函数: 一.引入头文件: #include<openss ...

  3. mysql中date_add()函数的使用?

    需求描述: 在使用mysql的过程中,需要对日期进行计算,比如对某个日期加上几天,几个小时等操作, 在此记录下,date_add()函数的使用. 操作过程: date_add()函数语法: DATE_ ...

  4. goquery 文档

    https://www.itlipeng.cn/2017/04/25/goquery-%E6%96%87%E6%A1%A3/ http://blog.studygolang.com/2015/04/g ...

  5. gcc和g++头文件和库路径的寻找和添加

    对所有用户有效修改/etc/profile文件 对个人有效则修改~/.bashrc文件 #在PATH中找到可执行文件程序的路径. export PATH =$PATH:$HOME/bin (可一次指定 ...

  6. GCD (Grand Central Dispatch) 笔记

    GCD (Grand Central Dispatch) 是Apple公司开发的一种技术,它旨在优化多核环境中的并发操作并取代传统多线程的编程模式. 在Mac OS X 10.6和IOS 4.0之后开 ...

  7. 【函数式】Monads模式初探——for解析式

    for表达式是monad语法糖 先看一组演示样例: case class Person(name: String, isMale: Boolean, children: Person*) val la ...

  8. 关于Android打版本号的小白文

    尽管常常和android打交道.但事实上我对android不是非常了解. 这里记录一下ant编译androidproject的过程,然后顺便记录一下android的一些基本概念.不求渡人,但求渡己.这 ...

  9. Java Comparable和Comparator

    Java中在进行数据排序时,Comparable和Comparator不可缺少会遇得到.普通的String.Integer等类型,已经实现了Comparable接口,而有些时候,我们须要对一些其它不存 ...

  10. HDU 5083 Instruction(字符串处理)

    Problem Description Nowadays, Jim Green has produced a kind of computer called JG. In his computer, ...