Android Studio bietet vollständigen Support für Kotlin, sodass Sie Kotlin-Dateien in Ihr Projekt und konvertieren den Java-Sprachcode in Kotlin. Sie können dann alle vorhandenen Tools von Android Studio mit Ihrem Kotlin-Code verwenden. einschließlich automatischer Vervollständigung, Lint-Prüfung, Refaktorierung, Fehlerbehebung und mehr.
Wenn Sie ein neues Projekt starten und Kotlin verwenden möchten, lesen Sie die folgenden Informationen: Projekt erstellen
Beispiele finden Sie in unserer Kotlin-Codebeispiele
Kotlin einem vorhandenen Projekt hinzufügen
So fügen Sie Ihrem Projekt Kotlin hinzu:
Klicken Sie auf Datei > Neu und wählen Sie eine der verschiedenen Android-Vorlagen aus, z. B. als neues leeres Fragment, wie in Abbildung 1 dargestellt. Wenn Sie die Liste nicht sehen, der Vorlagen auswählen, öffnen Sie zuerst das Fenster Projekt und wählen Sie App-Modul.
<ph type="x-smartling-placeholder">Wählen Sie im angezeigten Assistenten Kotlin als Quellsprache aus. Abbildung 2 zeigt das Dialogfeld New Android Activity (Neue Android-Aktivität). eine neue Aktivität zu erstellen.
<ph type="x-smartling-placeholder">Fahren Sie mit dem Assistenten fort.
Alternativ können Sie auf Datei > Neu > Kotlin-Datei/-Klasse zum Erstellen einer Kotlin-Standarddatei. Wenn diese Option nicht angezeigt wird, öffnen Sie das Fenster Projekt und Wählen Sie das Verzeichnis java aus. Im Fenster New Kotlin File/Class (Neue Kotlin-Datei/-Klasse) können Sie folgende Aktionen ausführen: den Dateinamen definieren und bietet mehrere Auswahlmöglichkeiten für den Dateityp: Datei, Class, Interface, Enum Class oder Object Ihre Entscheidung legt das grundlegende Gerüst fest, das in der neuen Kotlin-Datei für Sie erstellt wird. Wenn Sie Class auswählen, erstellt Android Studio eine neue Kotlin-Quelldatei mit den Name und eine übereinstimmende Klassendefinition. Wenn Sie Interface (Schnittstelle) auswählen, wird eine Schnittstelle angezeigt, in der Datei deklariert ist usw.
Wenn Sie zum ersten Mal eine neue Kotlin-Klasse oder -Datei zu Ihrem direkt ein Projekt erstellen (ohne die Android-Vorlagen verwenden), zeigt Android Studio eine Warnung, dass Kotlin nicht im Projekt konfiguriert ist (siehe Abbildung 3). Sie können Kotlin konfigurieren, indem Sie oben rechts auf Konfigurieren im Editor oder in der Ereignisprotokollbenachrichtigung unten rechts.
<ph type="x-smartling-placeholder">Wählen Sie die Option zum Konfigurieren von Kotlin für Alle Module mit Kotlin aus. Dateien, wenn Sie dazu aufgefordert werden, wie in Abbildung 4 gezeigt:
<ph type="x-smartling-placeholder">Sobald Sie auf OK klicken, fügt Android Studio Kotlin zum Klassenpfad Ihres Projekts und
wendet das Kotlin-Android-Plug-in auf jedes Modul an, das Kotlin-Dateien enthält.
Ihre build.gradle
-Dateien sollten in etwa so aussehen:
Cool
// Project build.gradle file. buildscript { ext.kotlin_version = '1.4.10' ... dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } }
Kotlin
// Project build.gradle.kts file. buildscript { extra["kotlin_version"] = "1.4.10" ... dependencies { classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version") } }
Cool
// Inside each module using kotlin plugins { ... id 'kotlin-android' } ... dependencies { implementation 'androidx.core:core-ktx:1.3.2' implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" }
Kotlin
// Inside each module using kotlin plugins { ... kotlin("android") } ... val kotlin_version: String by rootProject.extra dependencies { implementation("androidx.core:core-ktx:1.3.2") implementation("org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version") }
Quellorganisation
Neue Kotlin-Dateien werden standardmäßig in src/main/java/
gespeichert.
um sowohl Kotlin- als auch Java-Dateien an einem Ort zu sehen. Wenn Sie die Daten
Kotlin-Dateien aus Ihren Java-Dateien entfernen, können Sie
Stattdessen src/main/kotlin/
. In diesem Fall müssen Sie auch
Verzeichnis in Ihrem sourceSets
wie unten dargestellt:
Cool
android { sourceSets { main.java.srcDirs += 'src/main/kotlin' } }
Kotlin
android { sourceSets { getByName("main") { java.srcDir("src/main/kotlin") } } }
Vorhandenen Java-Code in Kotlin-Code konvertieren
Um Java-Code in Kotlin zu konvertieren, öffnen Sie die Java-Datei in Android Studio und wählen Sie Code > Java-Datei in Kotlin-Datei konvertieren Alternativ können Sie auch einen neuen Kotlin-Code erstellen (File > New > Kotlin File/Class) (Datei > Neu > Kotlin-Datei/-Klasse) aus und fügen Sie dann Ihren Java-Code in für diese Datei. Android Studio zeigt dann eine Aufforderung an und bietet an, Ihren Code zu konvertieren. Kotlin-Code ein, wie in Abbildung 5 gezeigt. Klicken Sie zum Umwandeln auf Ja. Sie können optional Klicken Sie auf das Kästchen Dieses Dialogfeld beim nächsten Mal nicht mehr anzeigen, weil dadurch zukünftige Conversions generiert werden. automatisch.
<ph type="x-smartling-placeholder">Codekonvertierung und Null-Zulässigkeit
Durch den Konvertierungsprozess von Android Studio wird funktionell äquivalenter Kotlin-Code erzeugt das kompiliert und ausgeführt wird. Wahrscheinlich müssen Sie jedoch weitere Optimierungen für den konvertierten Code vornehmen. Sie können beispielsweise optimieren, wie verarbeitet der konvertierte Code Typen, für die Nullwerte zulässig sind.
In Android ist es üblich, die Initialisierung von View
-Objekten und anderen
bis das Fragment oder die Aktivität, an die sie angehängt sind,
entsprechenden Lebenszyklusstatus. Vielleicht haben Sie einen Verweis auf eine
in einem Ihrer Fragmente einfügen, wie im folgenden Snippet gezeigt:
public class JavaFragment extends Fragment {
// Null until onCreateView.
private Button button;
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View root = inflater.inflate(R.layout.fragment_content, container,false);
// Get a reference to the button in the view, only after the root view is inflated.
button = root.findViewById(R.id.button);
return root;
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
// Not null at this point of time when onViewCreated runs
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
...
}
});
}
}
Auch wenn die Variable „button“ keine NULL-Werte enthält, ist sie für alle praktischen Zwecke
sollte niemals null sein, wenn es in diesem Beispiel verwendet wird. Da ihr Wert jedoch nicht
die bei der Erstellung zugewiesen wurden, behandelt der generierte Kotlin-Code Button
.
als Typ, der Nullwerte zulässt, und verwendet den Nicht-Null-Assertion-Operator zum Entpacken der Schaltfläche
wenn Sie wie unten gezeigt einen Klick-Listener hinzufügen:
class JavaFragment : Fragment() {
// Null until onCreateView.
private var button: Button? = null
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
...
// Get a reference to the button in the view, only after the root view is inflated.
button = root.findViewById(R.id.button)
...
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
// Not null at the point of time when onViewCreated fires
// but force unwrapped nonetheless
button!!.setOnClickListener { }
}
}
Diese Conversion ist in diesem Fall weniger ideal als die Verwendung von lateinit
.
werden gezwungen, den Schaltflächenverweis mit einer Nicht-Null-Assertion oder einem Safe-Aufruf zu entpacken
und zwar an jedem Ort,
auf den er zugreifen kann.
In anderen Fällen ist null
eine gültige Variablenzuweisung auf Grundlage Ihrer
Anwendungsfall der Anwendung, wobei ein Safe-Call-Operator (?.) mit einem beendenden Elvis verwendet wird
(?:) ist eine bessere Methode zum sicheren Entpacken des
Objekt, das Nullwerte zulässt, oder in einen sinnvollen Standardwert ungleich Null umgewandelt werden. Android Studio
haben nicht genügend Informationen, um dies während
Conversion-Prozess. Die Standardeinstellung ist zwar eine Assertion, die nicht null ist, Sie sollten aber
und den konvertierten Code nach Bedarf anpassen.
Weitere Informationen
Weitere Informationen zur Verwendung von Kotlin- und Java-Code in Ihrem Projekt finden Sie unter Java-Code über Kotlin aufrufen
Weitere Informationen zur Verwendung von Kotlin in Unternehmensszenarien finden Sie unter Kotlin für große Teams verwenden
Informationen zu idiomatischen Kotlin-Wrappern für vorhandene Android APIs finden Sie unter Android KTX