目录

1.什么是Kotlin
2.为什么要选择Kotlin
3.如何使用Kotlin来开发Android
4.与Java的互操作性


1.什么是Kotlin

谷歌在2017年中举行的I/O开发者大会上宣布,将Kotlin语言作为安卓开发的一级编程语言。Kotlin由JetBrains公司开发,与Java 100%互通,并具备诸多Java尚不支持的新特性。JetBrains在2010年首次推出Kotlin编程语言,并在次年将之开源。Android Studio3.0后的版本会提供对Kotlin的支持。


2.为什么要选择Kotlin


上图来自 Kotlin的官网,列举了4个词:


  • 简洁 举个例子,在AndroidStudio里分别用Kotlin和Java创建下图的模板
class User {
    private String name;

    public Person(String name) {
        this.name = name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void getName() {
        return name;
    }
}
复制代码

而用Kotlin写是这样的

data class User(var name: String)
复制代码

没错就是这么简单!

  • 安全 Kotlin是空安全的,在编译时期就处理了可能会产生空指针的情况,避免了执行代码时出现空指针异常。举个例子: 如果用Java中定义一个String可以这样写
String str;//默认为null
复制代码

如果我们没有给这个str赋值时,可能在其他操作中出现空指针异常。 如果用Kotlin这样定义一个String,结果如下图


编译不通过,除非我们这样写

var str: String? = null//如果str为空,则等于null
复制代码

这样编译才能通过。虽然都为null,但是Kotlin会检查一遍可能产生空指针的地方,能够排除大量的空指针异常。

  • 互操作性 Kotlin与 Java100% 可互操作,Kotlin的项目可以使用所有的用Java写的代码和库,也可以在一个项目中使用Kotlin和Java两种语言混合编程。
  • 工具有好 Kotlin和AndroidStudio都是出自JetBrains,工具自然少不了对语言的支持。

3.如何使用Kotlin来开发Android

  • 如果你的AndroidStudio版本是3.0之前:

(1).通过 File | Settings | Plugins | Install JetBrains plugin… 搜索并安装 Kotlin 插件。



(2).在根目录的build.gradle中加入

buildscript {
    ext.kotlin_version = '1.2.10'

    repositories {
        mavenCentral()
    }

    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
复制代码

(3).在app/build.gradle中引入

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'

buildscript {
    ext.kotlin_version = '1.2.10'

    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
复制代码

完成上面3步即可开始Kotlin之旅

  • 如果你的AndroidStudio版本是3.0之后: (1).内置安装 Kotlin 插件 (2).新建项目,自动引入Kotlin所需的依赖 (3).如果是用AndroidStudio3.0打开之前的项目,参照上面2.3两点

4.与Java的互操作性

  • 安装完Kotlin的插件后,可以新建Kotlin File/Class
  • Kotlin 在设计时就考虑了 Java 互操作性。可以从 Kotlin 中自然地调用现存的 Java 代码,并且在 Java 代码中也可以很顺利地调用 Kotlin 代码。
  • Java代码复制到Kotlin Class里可以转换为Kotlin代码
  • Kotlin 插件自带了一个 Java 到 Kotlin 的转换工具,可以把所有Java代码转换成Kotlin代码,转换工具在Code菜单里面的Convert Java File to Kotlin File选项

总结

谷歌在2017年中举行的I/O开发者大会上宣布,将Kotlin语言作为安卓开发的一级编程语言。在Android开发中,必将会有越来越多人使用Kotlin来开发。本篇文章标题为《从Java到Kotlin(一)》,后续还有几篇文章作为一个系列,目的是让熟悉Java的人看完后可以马上使用Kotlin进行开发。 本篇文章是本系列文章的第一篇,主要简述了 什么是Kotlin为什么要用Kotlin ,Kotlin能写出更简洁的代码,而且Kotlin是空安全的,能杜绝大部分空指针异常。

参考文献:
Kotlin语言中文站、《Kotlin程序开发入门精要》
推荐阅读:
从Java到Kotlin(一)为什么使用Kotlin从Java到Kotlin(二)基本语法
从Java到Kotlin(三)类和接口
从Java到Kotlin(四)对象与泛型
从Java到Kotlin(五)函数与Lambda表达式
从Java到Kotlin(六)扩展与委托
从Java到Kotlin(七)反射和注解
从Java到Kotlin(八)Kotlin的其他技术
Kotlin学习资料总汇