100% interoperable with Java™ and Android™
Kotlin发布有段时间了,官方宣称的特色是“100% interoperable with Java™ and Android™”,经过一段时间亲密接触,发现此言不虚,至少在Android上是如此。
在Android上体验Kotlin,需要使用"Android Studio 3.0 预览版",可以在最新的Google Android中文站点【https://developer.android.google.cn/studio/preview/index.html】下载到。3.0预览版集成了Kotlin的环境和一些工具箱。
在这之前,我们需要先了解下Gradle针对Kotlin的一些配置,毕竟还要依靠人家来构建的。为了使用Gradle构建Kotlin,要设置Kotlin-gradle插件,并且增加kotlin-stdlib的依赖,IDE虽然可以帮我们自动配置,但是好奇心促使了我去了解其中的细节。
除了全局的build.gradle需要配置Kotlin的版本信息,单个模块里也需要增加kotlin的依赖和Kotlin标准库的依赖
接下来,我们就可以使用Kotlin来编写我们的Android应用了,对于Android应用本身的结构规范,Kotlin并没有玩特殊性,一如既往的是我们熟悉的Android项目结构,对从java语言的切换角度看,几乎是无缝的。
我们使用Kotlin编写一段小程序,访问网络来获取天气数据,并把结果输出到控制台。Kotlin对类的声明也是使用class关键词。类也可以有属性,使用var来声明可变的,只读的使用val关键字。创建一个Kotlin的类,并不需要java中的关键字new。
Kotlin虽然对类型不是很敏感,但是我们也是可以强制指定一个变量为某个类型的,这里使用了一个as关键字,可以方便引用类的函数。
varinputStream = httpConnection.getInputStream()
as InputStream
Kotllin的函数,使用fun声明就可以的,默认是公开可访问的,除非加上private关键字,:后面紧跟的是其返回值。
fun getCityData(): String {}
Kotllin本身就支持lambda表达式,并且天然支持对Android系统的类和方法进行调整,直接就改变成了Kotlin的编码风格,以下是创建一个Thread线程,并运行,我们可以看到方法体直接写到{}里了,简化了很多繁琐的写法。
Kotlin整体语法表现上比java简洁多了,并支持和java混编,这有点像OC和Swifit两者的组合,对Android系统兼容也比较强,能直接拿Kotlin就可以开始编写Android App了。