Kotlin与Android开发的关系?
- Kotlin语言简介
1.1 Kotlin是一种基于JVM的新型编程语言,它完全兼容Java语言。Kotlin代码可以编译成Java字节符,也可以编译成JavaScript,方便在没有JVM的设备上运行。与流行的Java语言比较,Kotlin具备下列优势:
- .Kotlin更简洁,完成同样的业务功能,Kotlin代码量通常只有对应Java代码的三分之一。
- Kotlin更安全,它能够在编码阶段自动检测常见的Bug,比如引用了空指针等。
- Kotlin更强大,它提供了扩展函数、默认参数、接口委托、属性代理等Java所不具备的高级特性,从而可以完成更复杂的业务逻辑。
1.2 2017年5月,谷歌宣布将Kotlin纳入Android Studio开发的官方语言。
1.3
- 安装Android Studio
Android Studio的官方下载页面是:,在这里可以找到Android Studio的下载地址与使用教程
- 按照教程安装好Android Studio后,创建一个新工程,注意在创建页面下方有两个选项,“Include C++ support”和“Include Kotlin support”,只需要勾选“Include Kotlin support”,则表示要进行Kotlin开发。后面与创建Java项目一样。
- 新建Kotlin文件:普通的kotlin文件,右击待创建文件的包名,在弹出的快捷菜单中依次选择“New -> Kotlin File/Class”,当然这样也是可以创建Activity文件的(或者直接按照”New -> Activity -> Empty Activity”),只是需要自己继承相应的父类:
- 开发者们根据自己开发的需求,更新最新的SDK ,打开SDK管理器,来下载对应的“SDK Platforms 与 SDK Tools”。
- 升级SDK,由于Android Studio在第一次打开运行Kotlin工程时往往会重新下载最新的Gradle插件,造成漫长的等待时间。与其等还不如手动下载最新的Gradle插件到本地。下载加压特定文件夹如:D:\android\gradle-4.1 。打开Android Studio 按照“File -》 Setting -》 Build,Execution,Deployment -> Gradle ”将路径配置为之前解压的路径
- 升级Kotlin插件 :依次选择菜单“File -》 Setting -》 Plugins ”,在最上面搜索框输入需要更新的插件名称如“Kotlin”,这时右侧就会出现最新对应插件的一些信息。点击Update按钮,即可更新到最新的插件。重启Android Studio 使新插件生效。
- 调整Kotlin编译配置
在开发中,App工程使用的Kotlin编译版本不一定是最新版本。因为Kotlin允许指定使用某个低版本来编译工程,就像Java即使已经推出1.9版本,也能使用1.8、1.7甚至1.6来编译Java工程。
调整App工程的Kotlin编译版本很简单,依次选择“File -》 Settings -》 Other Settings -> Kotlin Compile”(不同Android Studio 可能位置有点小差别,主要是找到“Kotlin Compile”),窗口右侧便会打开Kotlin编译配置界面。可以看到“Language version”和“API version”,目前选择的都是1.4 ,表示当前App工程采用的Kotlin编译版本为1.4。当然开发者们可以根据情况选择不同的编译版本
- 修改编译配置文件
1.上面是在菜单界面修改Kotlin编译版本,还不够直接了当,我们直接进入编译文件中一看就一目了然啦。那编译文件在哪呢?打开App工程下的build.gradle文件,“ext.kotlin_version = “1.3.71”
Kotlin工程的编译配置文件比Java编写的App工程多了两处修改:
- 定义了一个外部变量“ext.kotlin_version”,其值为Kotlin编译的版本号“1.3.71”
- 指定了Kotlin插件的编译路径,即“org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version”
- 可是仅仅修改工程级别的build.gradle是不够的,再看看模块级别的build.gradle
一个是build.gradle的开头部分和结尾部分
开头部分添加两个插件,即红圆圈中数据。表示该模块会运用Kotlin插件功能。文件末尾的dependcies块增加Kotlin插件库的编译声明。
1.Java代码转Kotlin代码
- 简单的Java与Kotlin代码的PK
Java代码
Kotlin代码
从上述截取代码可以看出,Kotlin代码量更少更简洁。
微信公众号交流群: