[Kotlin knowledge]Start Covert java file to kotlin file

  1. Android Studio 提供了 Java file to Kotlin file 的工具,在菜单中选择 “Code → Convert Java File to Kotlin File”:
    image.png
  2. 转换过程遇到的问题
     
    image.png

    java 声明一个对象时可以不用初始化。但是Kotlin在声明一个对象时候需要初始化,除非上关键字lateinit,延迟初始化,又或者初始化为空等操作。
    image.png
//lateinit 允许在构造函数之外初始化非空属性
class Ball(var x: Int, var y: Int, var size: Int, color: Int) {
    var direction = intArrayOf(1, 1) //direction modifier (-1,1)
    var speed = 10
    var paint: Paint
    lateinit var oval: RectF
...
  1. 修改了上述情况,rebuild还会报一些error,因为在重构的过程中不能一蹴而就,应该循序渐进,由简入繁。
    因为上述convert 后的kotlin文件会被其他Java文件引用到。所以还需要做如下修改。
  • 需要在build.gradle(module) 文件添加 apply plugin: 'kotlin-android'
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
android {
 compileSdkVersion 25
 buildToolsVersion '27.0.3'
  • 需要在build.gradle(project) 文件添加 classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
buildscript {
  ext.kotlin_version = '1.3.20' //Note: 这个版本要与环境中版本相一致。
  repositories {
      ...
      google()
  }
  dependencies {
      classpath 'com.android.tools.build:gradle:3.5.0'
      classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
  }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容