首先,先搞明白一個概念,這裡的 Java 混合 Kotlin 是指文件層級的混合,即 Java 代碼還是寫在 .java 文件中,Kotlin 代碼還是寫在 .kt 文件中,只不過是可以在 Java 的代碼中可以調用自己寫好的 Kotlin 類,從 Java 的角度看,它並不知道它調用的這個類是 K ...
首先,先搞明白一個概念,這裡的 Java 混合 Kotlin 是指文件層級的混合,即 Java 代碼還是寫在 .java
文件中,Kotlin 代碼還是寫在 .kt
文件中,只不過是可以在 Java 的代碼中可以調用自己寫好的 Kotlin 類,從 Java 的角度看,它並不知道它調用的這個類是 Kotlin 寫的,這個類和平時遇到的其他類的使用並沒有什麼特別的,例如“KotlinTest myKotlinTest = new KotlinTest();”
配置
-
先確保自己的 Android Studio 下載有 Kotlin 插件,查看路徑
File -> Settings... -> Plugins -> 點擊 Installed -> 查看 Languages 欄下是否有 Kotlin,如果有註意記一下版本(我的是1.9.0),等下配置要用
-
在項目根目錄的
build.gradle
中,添加如下代碼:
buildscript {
ext.kotlin_version = '1.9.0' // 添加代碼 1
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // 添加代碼 2
}
}
需要註意的是,buildscript 需要在 plugins 標簽之上,否則報錯,貼一個正確圖:
- 在需要混合編程的模塊下的
build.gradle
,添加如下代碼:
plugins {
id 'com.android.application'
id 'kotlin-android' // 添加代碼1 在該模塊啟動 Kotlin
}
...
android {
...
// 添加代碼2 指定 kotlin 使用的 Jvm 版本,註K意要與自己使用的JDK版本一致
kotlinOption {
jvmTarget = "1.8"
}
}
...
dependencies {
...
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:${kotlin_version}" // 添加代碼3 指定 Kotlin 版本
...
}
至此,配置完成,接下里創建一個樣例:
class TestKotlin(val name: String, val age: Int) {
// 定義一個方法
fun sayHello() {
println("Hello, my name is $name and I am $age years old.")
}
}
// 可以直接運行
fun main() {
// 創建一個 Person 對象
val person = TestKotlin("Alice", 25)
// 調用對象的方法
person.sayHello()
}
創建一個 Java 測試類來調用上面的 Kotlin 類的方法:
public class MainTest {
@Test
public void test() {
TestKotlin testKotlin = new TestKotlin("xxx", 1);
testKotlin.sayHello(); // 輸出:Hello, my name is xxx and I am 1 years old.
}
}
完畢