Edit Page

Android 与 Kotlin 入门

本教程将引导我们使用 Android Studio 为 Android 创建一个简单的 Kotlin 应用程序。

安装 Kotlin 插件

Android Studio 从 3.0(preview)版本开始将内置安装 Kotlin 插件。如果你正在使用的是早期版本, 需要通过 File | Settings | Plugins | Install JetBrains plugin… 搜索并安装 Kotlin 插件。 在 Android Studio 欢迎界面中,可以通过 Configure | Plugins | Install JetBrains plugin… 。 安装完成后需要重新启动 Android Studio。

创建新工程

使用 Kotlin 来进行 Android 的开发是极其之容易的。 在本章教程中,我们直接根据 Android Studio 的引导进行操作。 若你当前使用的 IDE 是 Intellij IDEA,所有操作几乎一致。

首先,创建新的工程。选择 Start a new Android Studio project 或者 File | New project。 根据弹出的对话框提示进行操作。 为新工程命名,选择已安装的 Android SDK 版本。实际上大多数选项均有默认值 ,只需要按几次“回车”键即可。

命名工程: Dialog 1

Android Studio 3.0 在当前对话框中提供启用 Kotlin 支持的选项,勾选后可以跳过 “配置 Kotlin 工程(Configuring Kotlin in the project)”的步骤。

选择 Android 版本:

Dialog 2

选择需要创建的 Activity 样式:

Dialog 3

命名该 Activity:

Dialog 4

在 Android Studio 3.0 中,可以选择使用 Kotlin 创建 activity,因此也不需要“将Java 代码转换为 Kotlin(Converting Java code to Kotlin)”这一步骤。早期版本中则会先使用 Java 创建 activity,然后再使用自动转换工具进行转换。

一般而言,着手使用 Kotlin 的最便捷方式,无疑是将 Java 代码自动转换为 Kotlin。 值得一提的是,与其为了使用新的方式表达旧的模式而去查阅文档, 不如直接使用 Java 编写代码,再复制粘贴到 Kotlin 文件中,IntelliJ IDEA(或Android Studio)会提示需要转换代码。

将 Java 代码转换为 Kotlin

打开 MainActivity.java 文件,使用 Convert Java File to Kotlin File 命令。使用该命令的方式有如下几种, 强烈推荐 Find Action,输入相应的命令名称(见下方截图)即可。 同样也可以通过菜单栏依次调出 Code | Convert Java File to Kotlin File 或使用快捷键(菜单栏入口可见)完成操作。

Convert

转换完成后即可看到使用 Kotlin 编写的 activity。

Koltin-Activity

工程中配置 Kotlin

在开始编辑此文件时,Android Studio 会提示当前工程还未配置 Kotlin,根据提示完成操作即可;或者可以在菜单栏中选择 Tools Kotlin Configure Kotlin 。

Config-Kotlin

选择配置时有如下对话框,选择已安装的最新版本即可。

Config-Kotlin-Details

Kotlin 配置完成后,应用程序的 build.gradle 文件会更新。 你能看到新增了 apply plugin: 'kotlin-android' 及其依赖。

(有关使用 gradle 设置的详情,请查阅 Gradle使用手册

Sync-Project-With-Gradle

同步工程,在提示框中点击“立即同步(Sync Now)”或者使用 Sync Project with Gradle Files命令。

Sync-Project-With-Gradle-2

构建和发布用于 Android 的 Kotlin 应用程序

最后构建应用程序,在虚拟机或连接的设备上运行。 所有这些工作与 Java 并无区别。 你可以发布应用程序,并以类似于使用 Java 编写的 Android 应用程序的方式进行签名。

Kotlin有着极小的运行时文件体积:整个库的大小约 862KB(1.1.4 版本)。这意味着 Kotlin 对 apk 文件大小影响微乎其微。

就对比 Kotlin 与 Jav a所编写的程序而言,Kotlin 编译器所生成的字节码看上去几乎毫无差异。

后续?