早在2015年,就开始断断续续接触Kotlin,最初是因为使用与Kotlin同公司的Intellij IDEA系列,从官网了解到Kotlin,也在博客记录了《初识Kotlin》。去年2月份,Kotlin终于发布了1.0正式版,又一次引爆热点,业内人员纷纷尝试Kotlin开发Android等场景,也有人拿其与Groovy、Scala甚至Swift对比,但与Java相比终归都是民间玩法。
直至今年5.18,Google 在 I/O 2017 上宣布 Android 加入了对 Kotlin 编程语言的支持,并将Kotlin语言作为安卓开发的一级编程语言。至此,Kotlin终于完全被IT界大众所认识(据我所知,在此之前,很多使用Jetbrains系IDE的小伙伴,并不知道Kotlin的存在,也不知道自己日常离不开的IDE就是Kotlin开发的)。
有了Google的大力支持,相信未来必然像当年换ADT为Android Studio一样顺风顺水,毋庸置疑,作为Android程序员的你,是时候开始尝试在Android开发中使用Kotlin了。目前Android Studio 2.x可以安装插件使用,Android Srudio 3.x之后将默认支持Kotlin。下面参考kotlinlang官方使用引导整理了简单的引导教程,这里默认你是已经在使用Android Studio进行日常开发的程序员,细节将一带而过。
安装Kotlin插件
Kotlin插件与3.0版本的Android Studio捆绑在一起。 如果你使用的是较早版本,则需要安装Kotlin插件。在Android Studio的插件管理中直接搜索安装,安装完成后重启即可。
创建一个项目
开始使用Kotlin进行Android开发非常简单,首先将使用的Android Studio进行升级或者安装插件,如果使用Intellij IDEA开发Android,操作流程基本一致。
接下来创建一个新项目,选择Start a new Android Studio project或File->New project。
给项目命名:
Android Studio 2.3 截图
Android Studio 3.0在创建项目界面提供了一个选项,可以选择启用Kotlin支持,直接导入Kotlin支持,反之可以见后文”在项目中配置Kotlin”(如果是2.x版本,暂不支持在创建时勾选Kotlin支持,后续截图采用Android Studio 2.x)。
选择Android版本:
选择默认生成Activity模板:
输入Activity名字(这里采用默认):
在Android Studio 3.0中,默认创建Activity即为Kotlin编写的,因此可以跳过”将Java代码转换为Kotlin”步骤,早期版本将默认创建Java编写的Activity,如果需要完全使用Kotlin的项目,可以使用自动化转换器工具进行转换(当然,你可以选择默认不创建Activity,完全通过后续添加,即可省略Java到Kotlin的转换操作)。
一般来说,切换Java到Kotlin最简单的方法是将Java代码自动转换为Kotlin,无论何时,你都可以使用Java编写它,然后将Java代码复制粘贴到Kotlin目录中,IntelliJ IDEA(或Android Studio)将建议将其转换,不过既然官方推行,还是建议逐步学习拥抱变化。
将Java代码转换为Kotlin
打开MainActivity.java文件, 然后操作Java文件转换为Kotlin文件(如图,可以通过快捷命令直接输入或者code菜单项下找到转换指令)。
转换后代码如下
在项目中配置Kotlin
如果使用早期版本Android Studio或者在创建项目时并未勾选Kotlin支持,在你操作Java文件转换为Kotlin后,在编辑器中会出现如下提示,点击即可进行配置。
在弹出框内选择最新可用Kotlin版本,然后点击确定
之后你会发现项目自动导入”kotlin-android”插件,项目依赖自动添加”kotlin-stdlib”,说明已经配置成功。
最后,你会发现界面提示项目需要Sync,点击界面上的”Sync Now”,进行真正的依赖导入。
构建和发布基于Kotlin语言开发的Android应用程序
开发基于Kotlin的Android应用程序可以使用Java编写Android应用程序的方式进行仿真器调试运行、发布以及签名,完全没有差异。Kotlin运行时文件相当小,大约是859KB(从1.1.3-2开始)。 这意味着Kotlin对.apk文件大小增加了一点。在各种类库层出不穷的今天,这点字节几乎可以忽略,再加上接下来Android官方的大力支持,如果未来完全融入Android SDK,编译后可能会有更佳的效果。至于运行时,Kotlin虽然是扩展Java,但最终也是编译为.class的字节码,因此运行时与原生Java并无差异。
至于具体Kotlin语法,大家可以通过官方文档入门,或者通过将Java转为Kotlin后的代码来习惯。
参考:http://kotlinlang.org/docs/tutorials/kotlin-android.html
上一篇: 基于Vue.js的SSR方案之Nuxt.js 下一篇: Kotlin Android扩展使用及流行框架支持