I have an Android App developed using Java. I now want to start using Kotlin for the same app. Is it possible to use Kotlin and Java side-by-side in an existing app?
I have an Android App developed using Java. I now want to start using Kotlin for the same app. Is it possible to use Kotlin and Java side-by-side in an existing app?
simplest way to do this is :
To enable Kotlin into your existing Android project. Follow these steps:-
Application-level build file:- Add
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
Add In dependency:-
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
Project Level build File:-
dependencies {
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
}
It is possible to use Java and Kotlin side by side. If it is a small project I would recommend you converting your existing java files into Kotlin, this can be easily done using the ctrl+alt+shift_k shortcut. if the project is pretty large you can keep your java classes while creating new activities in Kotlin. I have an app that many of my model classes are written in java yet the activity and the UI itself is written in Kotlin. Since Kotlin is based on Java there is no problem having both languages in the same project as long as your java files are created in different classes than your Kotlin classes
To enable Kotlin support for your existing Java-only project follow the steps and Android Studio will automatically set-up everything for you :-
You're done and good to go!
NOTE :- Android Studio will automatically add the following lines of code for you in the respective files -
In Application-level Gradle file :-
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()
}
In Project-level Gradle file
buildscript {
ext.kotlin_version = '1.3.72'
......
dependencies {
......
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
In Android Studio 4, there is no need to manually configure Kotlin for a Java project.
When adding Kotlin files to a Java project, Android Studio will automatically setup Kotlin.
Here is the full procedure:
Activity for example)Kotlin as the languageNote: When it finished, it could not resolve the R file in the Kotlin Activity. To fix this, I just hit hovered over the red R in the editor and hit alt-enter.
Finally, in my MainActivity.java:
Intent launchNewIntent = new Intent(this, KotlinActivity.class);
startActivityForResult(launchNewIntent, 0);
This code opens the KotlinActivity from the MainActivity in Java.
Just click ctrl+alt+shift+k to convert your whole app from java to kotlin. And remember to keep your system connected to active internet while you do so because it needs to download the required plugins. I think you'll be good to go after doing this.