Czasami, tworząc aplikację używając języka kotlin, znajdujemy rozwiązanie naszego problemu napisane w javie. Nie musimy wtedy ręcznie przepisywać tego kodu do kotlina. Android Studio pomaga nam ten proces zautomatyzować. Wystarczy skopiować fragment kodu w javie i wkleić go do klasy/pliku z rozszerzeniem .kt 🙂 IDE zapyta się wtedy czy automatycznie przekonwertować wklejany fragment kodu:
Zaznaczając check boxa w tym oknie dialogowym i klikając Yes, skopiowany kod zawsze będzie konwertowany do kotlina już bez wyświetlania komunikatu.
Możemy również przekonwertować od razu całą klasę napisaną javie. W tym celu otwieramy klasę którą chcemy poddać konwersji. Następnie wymieramy z Menu -> Code -> Convert Java File to Kotlin File. Albo używamy skrótu klawiszowego Ctrl+Alt+Shift+K
Niestety często zdarza się tak, że konwersje nie są idealne. Trzeba często coś w nich poprawiać (szczególnie gdy konwertujemy całą klasę).
Podobnie sprawa wygląda z konwersją do javy. W tym przypadku wybieramy Menu -> Tools -> Show Kotlin Bytecode a następnie klikamy Decompile.
Na wyjściu dostaniemy plik z kodem w javie, który też należy sprawdzić. Tutaj narzędzie nie radzi sobie np. z typami zmiennych:
// Kotlin
val mCountDownTimer = object : CountDownTimer(millisInFuture, countDownInterval)
// Java
<undefinedtype> mCountDownTimer = new CountDownTimer(millisInFuture, this.countDownInterval)
Konwersja na dzień dzisiejszy nie działa jeszcze idealnie. Jednak jest to ciekawe narzędzie, które może nam trochę pomóc nauce składni, a nawet w naszej pracy.