it-swarm.com.de

Kombiniere Java mit Kotlin in Android

In der Android-App-Entwicklung bewege ich mich leicht von Java zu Kotlin Es gibt jedoch Fälle, in denen ich nicht in Kotlin programmieren möchte und Diese besonderen Fälle werden in Java geschrieben: 

  • Es ist mühsam, dass Kotlin die Verwendung von findViewByIds entfernt.
  • Ich weiß, dass es jetzt null-safety ist, welches Java immer mit NullPointerException ausgelöst hat.
  • Außerdem werden Lambda-Ausdrücke und viele andere Funktionen bereitgestellt.

Trotzdem können einige meiner Codes nicht in Kotlin geschrieben werden, wie static-Mitglieder oder non-primitive-Felder.

Kotlin-Anmerkungen können diese static members tatsächlich ersetzen. Aber ich liebe einige Codierungsfunktionen von Java und möchte das nicht lassen.

Meine Frage ist, kann ich Java und Kotlin miteinander kombinieren?  

8
Zafar Kurbonov

Wenn Ihre Frage ist, können Sie Kotlin-Dateien in Java-Dateien verwenden und umgekehrt, dann lautet die Antwort "Ja".

Wenn Sie fragen, ob Sie die Kotlin-Syntax in Java-Dateien verwenden können und umgekehrt, lautet die Antwort "Nein".

Um Kotlin-Code in einer Java-Klasse zu verwenden, verwenden Sie die Klasse einfach wie jede andere Java-Klasse

14
tyczj

Sie können ein Java-ähnliches static variables mit companion object erstellen.

Sie können einfach singleton in Kotlin erstellen, indem Sie object verwenden.

Nachdem ich Kotlin gelehnt habe. Ich habe alle meine Codes nach Kotlin migriert.

3
Bhuvanesh BS

Selbst wenn es sich um Interop handelt, können Sie Java und Kotlin nicht in derselben Datei mischen.

Wenn Sie wirklich statische Methoden/Variablen haben möchten, können Sie einen companion object verwenden. Sie können auch mit @JvmStatic in Ihrer JVM auf die Erstellung einer "echten" statischen Methode zugreifen. 

Ein einfaches Beispiel ist:

companion object {  
    @JvmStatic 
    fun newInstance() ) SampleFragment()
}

was entspricht

public static SampleFragment() { return new SampleFragment(); } 

Mit @JvmStatic können Sie wie zuvor mit Java auf Ihre statischen Methoden zugreifen.

1
Emanuel S

Sie können in Ihrem Projekt Java- und Kotlin-Klassen und -Aktivitäten haben.

Dieselbe Klasse kann Java und Kotlin nicht haben. Sie können eine Java-Datei mit Ctrl + Alt + Shift + K in Kotlin konvertieren oder einfach auf UMSCHALT tippen und nach Java in Kotlin suchen

0