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