到目前为止,使用java来开发android的的优势基本已经不存在了。因此手上的项目,新项目基本使用纯kotlin开发,旧的项目也慢慢在重构代码。

记得去年刚切kotlin开发的原因有几点:

  • 市场上大部分代码都是kotlin了,没办法!!!
  • 有些项目组件不切androidx没法用,而最新的androidx库都是用kotlin来封装的
  • 最新的jetpack框架都是kotlin的

kotlin上手直接通过官方文档,刚开发使用的感觉如下

  • 没有几个api认识的,烦躁
  • java转过来的代码都红了,崩溃
  • cao,怎么没有三目运算符了
  • 怎么搞的,Int都不会自动转Long

用了一个月后,感觉逐渐就变了

  • 拓展方法真香,协程真香
  • viewmodel真香
  • livedata真好用,还可以监听数据库

用了两个月后

  • 完了,感觉自己不会写java了…不过还是kotlin香

废话不多说,还是回归主题

工程根目录gradle文件下配置

buildscript {
    ext.kotlin_version = "1.4.10"
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:4.0.1"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

应用目录gradle文件

更新插件

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

加入对应kotlin的依赖

implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    implementation 'androidx.core:core-ktx:1.3.1'

如何将java代码转kotlin

在写代码时,顺手将java代码kotlin化
63d03df3d5ac23c9154a742fdfbc11c6

kotlin代码

此方法主要是在学习kotlin代码时,研究kotlin是如何基于java实现的。
3f926529da8de61c9f18c14ec7b5b603
52ead11d004c03725f29689c4f88fc6d

更多推荐