我有一个使用Java开发的Android应用程序。我现在想开始在同一个应用程序中使用Kotlin。是否可以在现有应用程序中并排使用Kotlin和Java?
答案 0 :(得分:5)
是的,你可以在一个项目中混合使用Java和Kotlin。
来自Android doc:
如果您对使用Kotlin感兴趣,可以轻松入门,因为 它与Android上的Java和C ++并行工作。所以你可以保持 您现有的代码,继续使用各种Android库,以及 逐步将Kotlin代码添加到您的项目中。与其他几乎不同 语言,Kotlin是您可以使用的替代品 双向 - 你可以从Kotlin调用Java语言,和 你可以用Java语言调用Kotlin。
另外你应该看看kotlin官方doc
您还可以使用IntelliJIDEA将Java代码转换为Kotlin。
答案 1 :(得分:5)
最简单的方法是:
答案 2 :(得分:3)
答案 3 :(得分:1)
要为您现有的仅Java项目启用Kotlin支持,请执行以下步骤,Android Studio会自动为您设置所有内容:-
您做完了,很高兴去!
注意:-:Android Studio会自动为您在相应文件中添加以下代码行-
在应用程序级Gradle文件中:-
apply plugin: 'kotlin-android'
......
dependencies{
......
implementation "androidx.core:core-ktx:+"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.1.0"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}
......
repositories {
mavenCentral()
}
在项目级Gradle文件中
buildscript {
ext.kotlin_version = '1.3.72'
......
dependencies {
......
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
答案 4 :(得分:0)
创建活动Image时只需创建一个新的Activity并将源语言设置为Kotlin
答案 5 :(得分:0)
只需单击ctrl + alt + shift + k,即可将整个应用程序从Java转换为kotlin。记住,在进行连接时,请保持系统与活动Internet的连接,因为它需要下载所需的插件。我认为您这样做之后会很好。
答案 6 :(得分:0)
可以同时使用Java和Kotlin。 如果这是一个小项目,我建议您将现有的Java文件转换为Kotlin,可以使用ctrl + alt + shift_k快捷方式轻松完成。 如果项目很大,则可以在Kotlin中创建新活动时保留Java类。 我有一个应用程序,我的许多模型类都是用Java编写的,而活动和UI本身是用Kotlin编写的。 由于Kotlin是基于Java的,因此只要在与Kotlin类不同的类中创建Java文件,就可以在同一项目中同时使用两种语言。
答案 7 :(得分:0)
启用Kotlin到您现有的Android项目中。请按照下列步骤操作:-
应用程序级构建文件:-添加
应用插件:“ kotlin-android”
应用插件:“ kotlin-android-extensions”
添加依赖项:- 实现“ org.jetbrains.kotlin:kotlin-stdlib-jdk7:$ kotlin_version”
项目级别的构建文件:-
依赖性{
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
答案 8 :(得分:0)
在Android Studio 4中,无需为Java项目手动配置Kotlin。
将Kotlin文件添加到Java项目时,Android Studio将自动设置Kotlin。
这是完整的过程:
Activity
)Kotlin
作为语言注意:完成后,它无法解析Kotlin活动中的R文件。要解决此问题,我只需在编辑器中将鼠标悬停在红色的R
上,然后单击alt-enter
。
最后,在我的MainActivity.java中:
Intent launchNewIntent = new Intent(this, KotlinActivity.class);
startActivityForResult(launchNewIntent, 0);
此代码从Java中的MainActivity中打开KotlinActivity。