Start With Kotlin On Android

Android Studio 3.0 內(nèi)置支持 Kotlin, 請安裝3.0以上的 Android Studio。

創(chuàng)建 Kotlin 項目

在新建項目向?qū)нx擇 Include Kotlin support,如下圖所示:


Android Studio 3.0 Canary 1 默認(rèn)會出錯:
'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 默認(rèn)保存到 src/main/java/, 如果要和java代碼區(qū)分,一般可放到src/main/kotlin/, build.gradle 增加配置, 將文件夾配置到sourceSets,如下:

android {
    sourceSets {
    main.java.srcDirs += 'src/main/kotlin'
}

Java代碼轉(zhuǎn)換為Kotlin代碼

如果有現(xiàn)成的Java代碼,Android Studio 3.0 提供了轉(zhuǎn)換工具,打開Java文件,選擇 File > Convert Java File to Kotlin File,就會轉(zhuǎn)成Kotlin代碼。

也可以新建一個Kotlin文件,復(fù)制粘貼Java代碼,Studio就會彈出對話框提示是否轉(zhuǎn)為Kotlin代碼。

Kotlin編寫Android代碼

Kotlin兼容Java,所以和Java編寫Android程序一樣,可以直接調(diào)用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)
    }
}

參考:Get Started with Kotlin on Android

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容