Vergleichsnotiz für diejenigen, die Kotlin (Android) von Swift (iOS) 1 berühren

Ein Memorandum, wenn Leute, die mit Swift kamen, Kotlin berühren Nehmen Sie Orte auf, die aufgrund unterschiedlicher Konzepte wahrscheinlich stolpern

Grundsätzlich verwendete Dateien

** zeichnbare **, ** Layout **, ** Werte ** unter res ** Kotlin ** unter Java (nicht testen)

** zeichnbar **: Assets in iOS, können aber auch Einstellungen wie CSS speichern ** Layout **: Storyboard in iOS ** Werte **: Ein Ort, an dem Eigenschaften in ios zusammen in einer Struktur usw. gespeichert werden. Sie können es sehen, indem Sie sich den Farbcode, den In-App-Text usw. ansehen. ** kotlin **: Enthält die viewController-Datei in Activity-ios

Layout

** StoryBoard ** in ** Xcode ** ** activity.xml ** in Android Studio **

ConstraintLayout, LinerLayout, TableLayout als Eltern (Layoutbasis) Ich werde die Teile ausfüllen und ein Layout erstellen.

Wenn Sie es in der Mitte platzieren möchten

iOS

obj.frame.size.width / 2
obj.center.x(y)
//Vertikal und Horizontal zentrieren für Storyboards

Android

app:layout_constraintRight_toRightOf="parent"
app:layout_constraintLeft_toLeftOf="parent"

Eltern ist das übergeordnete Element. Beschränkt die rechte Seite des angegebenen Elements auf die rechte Seite des übergeordneten Elements und die linke Seite auf die linke Seite. Wenn dies auf "@ id / part id" gesetzt ist, kann es für das angegebene Element gesetzt werden. Aufgrund der ** gleichen ** Einschränkung links und rechts sind die linken und rechten Kraftverhältnisse der Teile gleich und werden in der Mitte platziert.

app:layout_constraintRight_toRightOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
android:layout_marginRight="10dp"

Wenn Sie die dritte Zeile wie hinzufügen, wird die Leistungsbeziehung unterbrochen und margin10dp befindet sich rechts. 10dp nach links verschieben.

Bibliotheksverwaltung

iOS podfile(cocoapods) Android Gradle Installation (Pod-Installation in iOS) Klicken Sie im Ausführungsmenü auf die Elefantenmarke (Projekt mit Cradle-Dateien synchronisieren)

Bildschirmübergang

iOS Performuesegue, NavigationController usw. Android Bildschirmbewegung Transit mit ** startActivity ** mit ** Intent-Instanz ** Rückkehr finish() Da startActivity eine neue Aktivitätsinstanz erstellt, Schließen Sie den Bildschirm mit finish (), wenn es keinen besonderen Grund gibt

(Natürlich gibt es noch andere, aber im Moment haben wir nur das erforderliche Minimum implementiert Nur dies wird eingeführt)

Dinge, die auf iOS, aber nicht auf Android sind

segment control Da Android dies nicht hat, ist es eine Überschreibung von RadioButton? Müssen durch einen Knopf ersetzen

import Da es unter iOS verwendet werden kann, ohne UI-Teile zu importieren, Ich erstelle unwissentlich eine Instanz. Auf Android werde ich sie einzeln installieren.

Wenn Sie beispielsweise im Fall von Button die Eingabetaste drücken, wenn der Abschluss angezeigt wird, wird der Import automatisch eingegeben. Andernfalls wird es mit Option + Eingabetaste importiert

Java-> Kotlin automatische Konvertierung

Wenn Sie an Ersatz gewöhnt sind, können Sie Kotlin auch für Java-Artikel verwenden. Diejenigen, die dies nicht tun, können sich als nützlich erweisen. Wenn ich den Java-Code in den Editor einfüge, werde ich gefragt, ob ich ihn in Kotlin konvertieren möchte Praktisch, weil es nur wenige Artikel über Kotlin gibt

Kotlin hasst null

In Swift wird es mit "?" Deklariert. Kotlin fügt auch lateinit hinzu

when In iOS wechseln Es gibt kein wann in iOS, warum also nicht! Beachten Sie, dass es sein kann when(int) { 1 -> println("int is 1") 2 -> println("int is 2") } Kann wie eine Switch-Anweisung verwendet werden

abschließend

Was haben Sie gedacht? Wenn Sie bis zu einem gewissen Grad an Swift gewöhnt sind, wenn Sie den Layout-Teil verstehen können Ich denke, es kann bis zu einem gewissen Grad reibungslos verlaufen. Ich bin froh, wenn Sie es als Referenz verwenden können. Wenn Sie Fehler finden, weisen Sie bitte darauf hin und wir werden sie sofort korrigieren.

Recommended Posts

Vergleichsnotiz für diejenigen, die Kotlin (Android) von Swift (iOS) 1 berühren
Memo für die Migration von Java nach Kotlin
[Swift] Eine Illustration für diejenigen, die sagen "Delegierter ist ein Agent."
Verknüpfungsvergleich für diejenigen, die von Eclipse zu IntelliJ IDEA (Windows) migrieren