這篇主要是給 Kotlin 初心者如何一步步把 Kotlin 導入 Java 專案中,並且還能透過一顆神奇按鈕可以把 Java 專案完全變成 Kotlin 的形狀!(被揍...
開啟 Android Studio 後會看到 Welcome to Android Studio 的畫面 (如果直接進入Project也不要怕,可透過File > Settings > Plugins)
點擊右下角的 Configure > Plugins ,即可看到 Plugins 列表,這邊會列出你已經安裝在Android Studio 的套件們
如果你是安裝 Android Studio 3.0之後的版本,他們已經很貼心的幫你安裝好 Kotlin 了
可以在Marketplace的搜尋欄中輸入 Kotlin ,檢查是否已經安裝,如果沒有就把 Install 用力的敲下去!
完成後按下 OK Button 即可,重起一次 Android Studio!
開新專案的其中一個步驟是Configure Your Project,打開Language的下拉表單會看到 Java 和 Kotlin 可以選擇,如果你在這邊選擇 Kotlin 那麼你就可以新開一個 Kotlin 的專案出來,但因為要教如何導入 Kotlin 到 Java 中,所以我們選擇 Java ,OK用力給他敲下去!
專案建置完成後,會長成這個模樣,目前還是Java的形狀,因此接下來我們會慢慢塞入Kotlin,讓他變成Kotlin的形狀囉!
將以下兩行加入:
ext.kotlin_version = '1.3.71'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
將以下三行加入:
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
點擊右上角的"Sync now",等到出現 "CONFIGURE SUCCESSFUL" 就表示我們已經成功導入 Kotlin 囉!這時候如果在 Virtual Machine 上跑起來會看到 "Hello World!"
在java > com.example.convertjavatokotlinexample 右鍵點選 New > Kotlin File/Class,輸入名稱為HelloKotlin並選擇為Class File,建立完成後會如下:
我們新增一個變數 val helloText = "Hello Kotlin!!!"
到Class中
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的形狀(誤~
所以我們要提到本文章最關鍵的"魔法按鈕"
右鍵 MainActivity.java > 點選最下面的 "Convert Java File to Kotlin File",就是這顆魔法按鈕可以幫我們把Java code直接轉成Kotlin code,點下去後會如下:
這時候你心理一定在想 : 『 媽蛋,明明最後一行就會報錯,這篇文章在騙我484!!! 』
別慌別慌,如果有看過綠豆湯大大的 Kotlin 教學就大概會了解問題,原因是 Kotlin 對於 null 的檢查很嚴格,有點複雜所以這部份需要另外開一篇文章來講解,或是花點時間了解 Kotlin 的 ? & !!
我個人比較喜歡的處理方式會長這樣,這是 Kotlin 和 Java 初始化 Element 不同的地方,可以省掉先宣告元件的部份,程式碼會看起來比較短...(對啦!我就懶R!
現在錯誤消失了,我們在把Virtual Machine Run 起來一次
OK!一切都沒問題!我們在短短的幾分鐘內把 Kotlin 塞進 Java 內,並且把他完整的變成 Kotlin的形狀了!!!
其實這上述的步驟有一大部份都是點點按鈕就可以完成的,需要自己輸入的部份很少,真的要先感恩AS!! 讚嘆AS!! 幫我們省掉了很多的麻煩!!
但是...從剛剛的第九部應該也可以感受到魔法按鈕不是萬能的,在 Java 轉成 Kotlin 的過程中其實還有很多必須要注意的(就是坑R!!!
所以在轉 Kotlin 前,建議還是要花點時間去了解 Java 與 Kotlin 之間兩者的不同,絕對可以幫你省下大把的 debug 時間呦。