Android Studio 3.0 内置支持 Kotlin, 请安装3.0以上的 Android Studio。
创建 Kotlin 项目
在新建项目向导选择 Include Kotlin support,如下图所示:
Android Studio 3.0 Canary 1 默认会出错:
'com.android.build.gradle.internal.variant.BaseVariantData.getOutputs()Ljava/util/List'
解决办法: ext.kotlin_version = '1.1.2-3' 改成 ext.kotlin_version = '1.1.2-4'
看看gradle的配置, 增加了哪些配置
- 项目的 build.gradle
buildscript {
ext.kotlin_version = '1.1.2-4'
repositories {
maven { url 'https://maven.google.com' }
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0-alpha1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
增加了classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
- app 的 build.gradle
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
android {
......
}
dependencies {
......
compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
}
增加 kotlin-android 插件 和 kotlin-stdlib-jre7 依赖库
kotlin代码文件后缀名.kt, Android Studio 默认保存到 src/main/java/, 如果要和java代码区分,一般可放到src/main/kotlin/, build.gradle 增加配置, 将文件夹配置到sourceSets,如下:
android {
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
Java代码转换为Kotlin代码
如果有现成的Java代码,Android Studio 3.0 提供了转换工具,打开Java文件,选择 File > Convert Java File to Kotlin File,就会转成Kotlin代码。
也可以新建一个Kotlin文件,复制粘贴Java代码,Studio就会弹出对话框提示是否转为Kotlin代码。
Kotlin编写Android代码
Kotlin兼容Java,所以和Java编写Android程序一样,可以直接调用Android APi,例如:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
mTextMessage = findViewById(R.id.message) as TextView
val navigation = findViewById(R.id.navigation) as BottomNavigationView
navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener)
}
}