Einführung in Kotlin für Android

Veröffentlicht: 2018-06-28

In der Android-Welt gibt es sicher niemanden, der nicht von Java gehört hat. Eine leistungsstarke Programmiersprache, die Anwendungen erstellen kann, die auf fast jedem Betriebssystem auf jeder Hardware ausgeführt werden. Im Laufe der Jahre wurden jedoch eine Reihe neuer Programmiersprachen eingeführt, die auch auf der Java Virtual Machine laufen. Eine solche Sprache, die Teil dessen ist, was Google tut, um die Entwicklung von Android-Apps "besser" zu machen, ist Kotlin. Google hat auf der Google I/O 2017 seine umfassende Unterstützung für Kotlin angekündigt.

Sicher wissen wir, dass Kotlin für App-Entwickler ist und dass sie es lieben! Aber warum lieben sie es? Was lässt Google bekräftigen, wie wichtig Kotlin für die App-Entwicklung auch 2018 ist? Was genau ist es?

Kotlin, eine statisch typisierte Programmiersprache, die auf JVM läuft, ist eine Programmier- und Entwicklungssprache von JetBrains. Kotlin ist modern, ausdrucksstark, sicher und eine leistungsstarke Sprache, die mit unseren bestehenden Android-Sprachen interoperabel sein kann. Einige andere Funktionen umfassen:

1. Kotlin wird von Android Studio 3.0 und höher vollständig unterstützt.

2. Kotlin ist eine JVM-basierte Sprache, die von „JetBrains“, dem Team hinter „Intellij“, entwickelt wurde.

3. Intellij ist die Basis für Android Studio.

4. Kotlin ist eine „objektorientierte Sprache“

Warum Kotlin?

Leicht :

Die Kotlin-Bibliothek ist im Vergleich zu anderen ziemlich klein. Dies ist wichtig, da Android-Methodenbeschränkungen mit Proguard und Multidexing immer ein zu lösendes Problem sind. Alle diese Lösungen werden Komplexitäten hinzufügen, die beim Debuggen Zeit in Anspruch nehmen können. Kotlin fügt weniger als 7000 Methoden hinzu.

Hochgradig interoperabel:

Kotlin funktioniert gut mit Java-Bibliotheken. Das Kotlin-Team möchte aktuelle Projekte, die in Java geschrieben sind, weiter entwickeln, ohne den gesamten Code neu schreiben zu müssen. Kotlin ist also eine extrem interoperable Sprache.

In Android Studio integriert:

Kotlin ist in Android Studio und Gradle integriert. Es ist einfach, Kotlin zu installieren, da es ein Plugin für die IDE und eines für Gradle benötigt. Es wird nicht schwierig sein, ein Android-Projekt mit Kotlin zu starten.

Keine NullPointerExceptions mehr:

NullPointerException ist eine der häufigsten Ursachen für Anwendungsabstürze in Android. Um diese Ausnahme zu beheben und Ihren Code zu schützen, ist die Verwendung der Nullprüfung jedes Mal eine zeitaufwändige Aufgabe. In Kotlin ist dies jedoch eine Ausnahme, da die Nullsicherheit bereits integriert ist.

Leistung :

Die Kotlin-Anwendung läuft so schnell wie auf Java. Mit Kotlin-Unterstützung für Inline-Funktionen laufen die Anwendungen mit „lambda“ oft noch schneller.

In Android Studio 3.0 können Sie die Aktivität in Kotlin erstellen. Der einfachste Weg, Kotlin zu verwenden, besteht darin, Java automatisch in Kotlin zu konvertieren. Sie können in Java schreiben, dann Java-Code kopieren und in die kotlin-Datei einfügen, und es wird die Konvertierung vorgeschlagen.

Eine weitere einfache Methode zum Konvertieren von Java-Dateien in Kotlin:

Android Studio-Menü >> Code >> Java-Datei in Kotlin-Datei konvertieren

Die Konvertierung wird von diesem Typ sein:

Java:

public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity); } }

Kotlin:

class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity) } }

Aktualisieren Sie nach der Konfiguration von Kotlin die Datei build.gradle für die Anwendung und implementieren Sie das unten gezeigte:

Android-Blog

Android-Blog

Synchronisieren Sie schließlich das Projekt. Sie können auf „Jetzt synchronisieren“ klicken. Dies funktioniert genauso wie in Java. Sie können die Anwendung freigeben und signieren, ähnlich wie bei einer Android-Anwendung in Java.

Schließlich produziert der Kotlin-Compiler "Byte-Code" , ohne jeglichen Unterschied in Bezug auf das Aussehen und die Bedienung der Anwendung in Android.

Lassen Sie uns jetzt etwas mehr über die Kotlin-Syntax wissen

  • Paketdefinition:

    package com.example Import java.util.*

  • Definieren von Variablen:

    Int: Val a: Int = 3 // Immediate assignment Val b = 2 // “Int” type is Inferred Val c : Int // Type Required when no initializer is provided C = 3 // Deferred assignment

  • Zeichenfolge:

val firstName: String = "Raj" val lastName = "xyz" // still compile val dateOfBirth = "24th April, 1990" dateOfBirth = "28th July, 2000" // cannot be changed var car = "Toyota Matrix" car = "Mercedes-Maybach" // can be changed

Unterschied zwischen „Val“ und „Var“

Val : Ist ein Schlüsselwort, bei dem ersteres unveränderlich oder schreibgeschützt ist (sein Wert kann nicht geändert werden)

Var : Ist ein Schlüsselwort, dessen Typ vom Compiler abgeleitet wird, das Zuweisen eines anderen Werts eines anderen Typs funktioniert nicht. Mit anderen Worten, der Wert der Variablen kann sich ändern, ihr Typ jedoch nicht.

var age = 12 age = "12 years old" // Error: type mismatch val carName: String carName = "BMW Car" // will compile val carName = "Toyota", streetName = "Church street" // this won't compile // this will compile var carName = "Audi" var streetName = "Church street"

Beispiele:

fun main(args: Array<String>) { val i = 10 println("i = $i") // prints "i = 10" } val accountBalance = 200 val bankMessage = "Your account balance is $accountBalance" // Your account balance is 200

Wir verweisen auf eine Variable durch die Verwendung eines $-Zeichens vor dem Variablennamen. Beachten Sie, dass der Code nicht kompiliert wird, wenn die Variable nicht korrekt ist oder nicht existiert. Sie können Methoden direkt aus einem interpolierten String aufrufen; Sie müssen geschweifte Klammern ${} hinzufügen, um es zu umschließen.

val name = "Raj" val message = "The first letter in my name is ${name.first()}" // The first letter in my name is R

Funktionen definieren:

fun sum(a: Int, b: Int): Int { return a + b } fun main(args: Array<String>) { print("sum of 2 and 8 is ") println(sum(2, 8)) } // sum of 2 and 8 is 10

Funktion mit einem Ausdruckskörper und einem abgeleiteten Rückgabetyp:

fun sum(a: Int, b: Int) = a + b fun main(args: Array<String>) { println("sum of 18 and 24 is ${sum(18, 24)}") } // sum of 18 and 24 is 42

Für Schleife:

fun main(args: Array<String>) { val items = listOf("apple", "banana", "Mango") for (item in items) { println(item) } } // apple banana Mango

Sammlungen verwenden:

Iterating over a collection: fun main(args: Array<String>) { val items = listOf("apple", "banana", "mango") for (item in items) { println(item) } } Checking if a collection contains an object using “in” operator: fun main(args: Array<String>) { val items = setOf("apple", "banana", "mango") when { "orange" in items -> println("juicy") "apple" in items -> println("apple is fine") } } // apple is fine

So erstellen Sie eine Klasseninstanz:

val customer = Customer() // No New Keyword

Konstrukteure:

Eine Klasse in Kotlin kann einen primären Konstruktor und einen oder mehrere sekundäre Konstruktoren haben. Der primäre Konstruktor ist Teil des Klassenheaders: Er folgt dem Klassennamen

class Person constructor(firstName: String) { }

Eigenschaften deklarieren:

Die Kotlin-Klasse hat Eigenschaften. Diese können mit dem Schlüsselwort „var“ als veränderlich oder mit dem Schlüsselwort „val“ schreibgeschützt deklariert werden.

Zum Beispiel:

class Address { var name: String = “” var street: String = “” var city: String = “” }

Schnittstelle:

Schnittstellen in Kotlin sind Java 8 sehr ähnlich. Sie können Deklarationen abstrakter Methoden sowie Methodenimplementierungen enthalten.

Eine Schnittstelle wird mit dem Schlüsselwort interface . definiert

interface MyInterface { fun bar() fun foo() { // optional body } }

Implementieren von Schnittstellen:

class Child : MyInterface { override fun bar() { // body } }

Eine Klasse oder ein Objekt kann eine oder mehrere Schnittstellen implementieren.

Subba Raju 28.06.2018

Subba Raju 28.06.2018

Aktuelle Blogs

Bild
Benutzerdefinierter Block-Teaser

Programmgesteuertes Erstellen eines Blocks in Drupal 9 – Ein kurzes Tutorial

Bild
CKEditor-Teaser

Machen Sie Ihr Drupal 9 CKEditor Pop - 7 nützliche Module, von denen Sie nicht wussten, dass sie existieren

Bild
Pagespeed-Teaser

Warum Page Speed ​​wichtig ist und wie Sie Ihre Website schneller laden!