这篇主要是给 Kotlin 初心者如何一步步把 Kotlin 导入 Java 专案中,并且还能透过一颗神奇按钮可以把 Java 专案完全变成 Kotlin 的形状!(被揍...
第一步 打开 Plugins
开启 Android Studio 后会看到 Welcome to Android Studio 的画面 (如果直接进入Project也不要怕,可透过File > Settings > Plugins)
点击右下角的 Configure > Plugins ,即可看到 Plugins 列表,这边会列出你已经安装在Android Studio 的套件们
第二步 安装 Kotlin
如果你是安装 Android Studio 3.0之后的版本,他们已经很贴心的帮你安装好 Kotlin 了
可以在Marketplace的搜寻栏中输入 Kotlin ,检查是否已经安装,如果没有就把 Install 用力的敲下去!
完成后按下 OK Button 即可,重起一次 Android Studio!
第三步 开 Java 专案
开新专案的其中一个步骤是Configure Your Project,打开Language的下拉表单会看到 Java 和 Kotlin 可以选择,如果你在这边选择 Kotlin 那么你就可以新开一个 Kotlin 的专案出来,但因为要教如何导入 Kotlin 到 Java 中,所以我们选择 Java ,OK用力给他敲下去!
专案建置完成后,会长成这个模样,目前还是Java的形状,因此接下来我们会慢慢塞入Kotlin,让他变成Kotlin的形状啰!
第四步 修改 build.gradle(Project: 专案名称)
将以下两行加入:
ext.kotlin_version = '1.3.71'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
第五步 修改 build.gradel(Module:app)
将以下三行加入:
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
第六步 点击"Sync Now"
点击右上角的"Sync now",等到出现 "CONFIGURE SUCCESSFUL" 就表示我们已经成功导入 Kotlin 啰!这时候如果在 Virtual Machine 上跑起来会看到 "Hello World!"
第七步 建立Kotlin File
在java > com.example.convertjavatokotlinexample 右键点选 New > Kotlin File/Class,输入名称为HelloKotlin并选择为Class File,建立完成后会如下:
我们新增一个变数 val helloText = "Hello Kotlin!!!"
到Class中
第八步 在Java File 中呼叫 Kotlin File 参数
Java 和 Kotlin 之间契合度真的非常高,因此若前面的设定都完成,那接下来都算是比较轻鬆的Part。
先帮预设的TextView设定一个ID tv_text
接着将以下程式码加入MainActivity.java,如果有写过Android的经验,那以下程式码应该不难理解
其中值得注意的部份是宣告 HelloKotlin helloKotlin = new HelloKotlin();
,宣告完成后就可以使用 HelloKotlin.kt 中的资源
而 helloKotlin.getHelloText()
这部份比较特殊,这算是Kotlin的一种机制,如果有兴趣可以去阅读 Kotlin - getters()与setters()
这时候重新把 Virtual Machine Run 起来就可以看到我们原本的 TextView 文字从 "Hello World" 变成 "Hello Kotlin"!!! 看吧,是不是超级方便的!!!
我们已经在 Java 中慢慢塞入 Kotlin 了,但在前面已经答应过要把 Java 变成 Kotlin的形状(误~
所以我们要提到本文章最关键的"魔法按钮"
第九步 Convert Java File to Kotlin File
右键 MainActivity.java > 点选最下面的 "Convert Java File to Kotlin File",就是这颗魔法按钮可以帮我们把Java code直接转成Kotlin code,点下去后会如下:
这时候你心理一定在想 : 『 妈蛋,明明最后一行就会报错,这篇文章在骗我484!!! 』
别慌别慌,如果有看过绿豆汤大大的 Kotlin 教学就大概会了解问题,原因是 Kotlin 对于 null 的检查很严格,有点複杂所以这部份需要另外开一篇文章来讲解,或是花点时间了解 Kotlin 的 ? & !!
第十步 Convert Java File to Kotlin File
我个人比较喜欢的处理方式会长这样,这是 Kotlin 和 Java 初始化 Element 不同的地方,可以省掉先宣告元件的部份,程式码会看起来比较短...(对啦!我就懒R!
现在错误消失了,我们在把Virtual Machine Run 起来一次
OK!一切都没问题!我们在短短的几分钟内把 Kotlin 塞进 Java 内,并且把他完整的变成 Kotlin的形状了!!!
结论
其实这上述的步骤有一大部份都是点点按钮就可以完成的,需要自己输入的部份很少,真的要先感恩AS!! 讚叹AS!! 帮我们省掉了很多的麻烦!!
但是...从刚刚的第九部应该也可以感受到魔法按钮不是万能的,在 Java 转成 Kotlin 的过程中其实还有很多必须要注意的(就是坑R!!!
所以在转 Kotlin 前,建议还是要花点时间去了解 Java 与 Kotlin 之间两者的不同,绝对可以帮你省下大把的 debug 时间呦。