美文网首页Kotlin android 开发
Start With Kotlin On Android

Start With Kotlin On Android

作者: jinkui | 来源:发表于2017-05-25 10:03 被阅读45次

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)
    }
}

参考:Get Started with Kotlin on Android

相关文章

网友评论

    本文标题:Start With Kotlin On Android

    本文链接:https://www.haomeiwen.com/subject/hjvaxxtx.html