1.為什么選擇 Kotlin?
簡潔:大大減少樣板代碼的數(shù)量。
安全:避免空指針異常等整個類的錯誤。
互操作性:充分利用 JVM、Android 和瀏覽器的現(xiàn)有庫。
工具友好:可用任何 Java IDE 或者使用命令行構建。
2.官網(wǎng)語法
簡單的kotlin入門語法在這里就不復述了。參考Android與Kotlin入門。
3.gadle配置Kotlin環(huán)境(1.3.0以上版本)
1.在項目的build.gradle文件下添加 外部Gradle插件依賴引用
buildscript {
ext.kotlin_version = '1.3.50' //kotlin的版本
...
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
...
}
2.在項目Module下的build.gradle引入 kotlin 插件支持和標準庫
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
···
dependencies{
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" //標準庫的支持
···
}
3.APT支持
在 Android 插件中,官方已經(jīng)支持APT了。但是加入 Kotlin 后,由于Kotlin構建環(huán)節(jié)和Java 有些微妙的變化,因此需要重建這個流程的構建,因此Kotlin為我們提供了另外的插件支持。
apply plugin: 'kotlin-kapt'
在本來使用 annotationProcessor依賴方式的依賴上,改為 kapt
kapt("com.sankuai.waimai.router:compiler:${WMROUTER_VERSION}") {
exclude group: 'com.android.support'
}
kapt 不僅僅是會處理 kotlin 的內(nèi)容,同時也可以處理 java 代碼中的內(nèi)容。
4.增量編譯支持
在 Gradle 配置文件中:在 gradle.properties 或者 local.properties 中,對于 Kotlin/JVM 項目添加一行 kotlin.incremental=true