Android-Entwicklung Tipps bitcoin wöchentlichen Wert 2020

– [Ausbilder] Wenn Sie von Java zu Kotlin wechseln, werden Sie feststellen, dass Konstanten, Werte, die sich nie geändert haben, anders gehandhabt werden. Erstens hat Kotlin ein const-Schlüsselwort, das in Java fehlt, mit dem Sie einen Wert offiziell als Konstante bezeichnen können, anstatt einfach eine andere Variable zu sein. Sie werden aber auch innerhalb von Klassen an einer bestimmten Stelle platziert, und Sie können auch globale Konstanten erstellen. Wertgegenstände, die in einer Anwendung verfügbar sind. Als ich diese Java-Anwendung in Kotlin umwandelte, bekam ich etwas, das Companion-Objekt genannt wurde.

Und ein Feld, das ich in Java für statisch und endgültig erklärt hatte, wurde ein Mitglied davon Begleitobjekt. Dies liegt daran, dass Kotlin kein Konzept für statische Klassenmitglieder hat.


Um einen Wert einer Klassendeklaration im Gegensatz zu einer Klasseninstanz zu adressieren, platzieren Sie sie in a Begleitobjekt so. Nun werde ich hier einen weiteren Wert hinzufügen, und ich werde die gleiche Syntax verwenden, private val, und ich werde diese Konstante mit einem Namen von THE_ANSWER setzen.

Und ich werde ihm einen ganzzahligen Wert von 42 geben. Dann gehe ich zu meiner Ausführungscode-Funktion, und ich werde etwas von diesem existierenden Code loswerden, und ich werde ihn durch die Ausgabe ersetzen, und ich werde das sagen Antwort ist, dann werde ich in einem Codemodell die Syntax MainActivity.THE_ANSWER verwenden. Dann werde ich diesen Code ausführen und sicherstellen, dass es wie erwartet funktioniert. Wenn ich auf den Knopf klicke, bekomme ich die Antwort auf 42. Sagen wir jetzt, du wolltest diese Konstante während der gesamten Anwendung verfügbar sein.

Der Java-Ansatz wäre, eine spezielle Klasse zu erstellen, um die Konstante zu halten, also werde ich es mit Kotlin machen. Ich werde eine neue Klasse namens Konstanten erstellen. Ich werde dies als eine Kotlin-Klasse anstelle einer Datei definieren. Und dann, wie ich es in der Hauptaktivität gemacht habe, werde ich ein hinzufügen Begleitobjekt. Ich kann C-O-M-P eingeben, dann Enter oder Return drücken und diesen Code für mich erstellen. Ich werde das Hauptgeschäft zurückkehren, dann werde ich geschnitten und wird diese Aussage bleiben, und ich werde es in die Konstanten setzen, aber ich werde von den privaten Stichwort loszuwerden.

In Kotlin ist jedes Mitglied der Klasse standardmäßig öffentlich. dann diese Konstante ist jetzt für den Rest der Anwendung verfügbar. Ich werde zurückkommen Haupttätigkeit und ich werde die Art, wie ich den Wert referenziere, so ändern, dass ich ihn von der neuen Konstantenklasse bekomme, und ich werde den Code ausführen. Und es funktioniert auch sehr gut. Wenn ich auf den Button klicke, bekomme ich den Wert. Aber innerlich passiert etwas wirklich Interessantes. Wenn Sie in Kotlin programmieren und sehen möchten, was Java ist, können Sie in Android Studio zum Menü gehen und Tools, dann Kotlin und dann Kotlin Bytecode auswählen wählen.

Sie erhalten hier den eigentlichen Bytecode, der nicht besonders lesbar ist, aber Sie können dann auf die Schaltfläche Dekompilieren klicken, und Sie erhalten das Java-Äquivalent. So ist mein Haupttätigkeit die Klasse sieht so aus. Ich gehe zurück zur Konstantenklasse und mache die gleichen Schritte für diese Klasse. Ich werde dekompilieren und dann den resultierenden Code anschauen. Ich werde sehen, dass dies zu einem konstanten Klassennamen führt. Dann gibt es ein privates Feld namens THE_ANSWER und dann eine öffentliche Methode namens get the answer.

Es ist ein bisschen mehr, als ich wirklich brauche. Es gibt ein bisschen Overhead hier, dass ich leicht reinigen kann. Um das zu tun, werde ich zu meiner Konstanten-Klasse zurückkehren und das Schlüsselwort const zu val hinzufügen. Und dann werde ich dekompilieren, und ich werde den resultierenden Code betrachten. Und jetzt sehe ich, dass ich ein statisches öffentliches Endfeld habe. Und es ist vergleichbar mit dem, was Sie in Java sehen würden. Jetzt habe ich keine Getter-Methode. Ich habe immer noch ein Begleitobjekt, auch wenn ich es nicht benutze.

In meiner Hauptaktivitätsklasse referenziere ich diesen Wert als Mitglied der Konstantenklasse. Und ich werde den Code erneut ausführen und beweisen, dass es wie erwartet funktioniert. Dies stellt daher eine Konstante als Mitglied einer Klasse. Sie können diese globale Konstante jedoch auch für die gesamte Anwendung rendern, ohne den Verweis auf eine spezielle Klasse zu haben. Und Sie tun das einfach, indem Sie die Konstante selbst und jetzt auspacken diese Konstante wird in einer Kotlin-Datei anstelle einer Kotlin-Klasse deklariert.

Ich gehe zurück zur Hauptaktivität und werde diesen Code bereinigen, indem ich das Präfix der Konstanten entferne. Und ich brauche die Klammern um den Ausdruck nicht mehr, weil es ein einfacher Wert und kein komplexer beliebiger Ausdruck ist. Ich werde diese Version des Codes ausführen und es funktioniert wieder wie erwartet. Und schließlich, wenn Sie Ihre globalen Konstanten in ihr eigenes Paket einfügen möchten, können Sie dies tun, indem Sie einfach eine Paketdeklaration hinzufügen. In Kotlin müssen Sie die Datei nicht verschieben.

Die Paketdeklaration und der Speicherort der Datei sind im Gegensatz zu Java voneinander getrennt. Also, ich werde nur sagen, wochentipps.Konstanten, dann komme ich zurück zu MainActivity.kt. Und jetzt kann ich diese Referenz in meinem nicht finden Haupttätigkeit. Ich werde eine Absichtsaktion verwenden und diese importieren. Und ich werde nach oben scrollen und sehen, wie der Import aussieht. Und um alle diese Konstanten zu verwenden, kann ich einen Platzhalter verwenden. Ich werde die Importe säubern und die Antwort durch ein Sternchen ersetzen, und ich werde die Anwendung noch einmal ausführen.

Diese und alle anderen Konstanten, die ich in dieser Datei oder allen anderen Dateien in meinem Projekt deklariert habe, sind für die gesamte Anwendung verfügbar. Es gibt also ein paar Dinge, die man daraus machen kann. Der erste ist, dass Sie, wenn Sie globale Konstanten verwenden möchten. Und zwei sind, dass Sie genau sehen können, was in Ihrem Kotlin-Code passieren wird, wenn es mit Java-Bytecode kompatibel ist, der die Kotlin-Dekompilierung verwendet. Wählen Sie im Menü Tools, Kotlin, Show Kotlin Bytecode und dekompilieren, um zu sehen, was wirklich im Hintergrund passiert.