Logo von Developer

Suche
Abonnieren

Tägliche Top-News bei WhatsApp, Facebook Messenger, Telegram & Insta

preisvergleich_weiss

Recherche in 1.699.191 Produkten

Rainald Menge-Sonnentag 13

Android-Erweiterung soll Entwicklung mit Kotlin vereinfachen

Eine Android-Erweiterung soll Entwicklung mit Kotlin vereinfachen

Google hat mit Android KTX eine Erweiterung veröffentlicht, mit der in Kotlin verfasste Android-Software die Vorzüge der Programmiersprache gegenüber Java ausspielen kann.

Nachdem Google im Frühjahr 2017 Kotlin neben Java zur offiziellen Programmiersprache für Android erklärt hat, hielt JetBrains JVM-Sprache Einzug in Android Studio 3.0. Entwickler können damit zwar Anwendungen vollständig mit Kotlin erstellen, die Ausrichtung auf Java schimmert jedoch noch in vielen Bereichen durch. Das will das Android-Team mit einer Erweiterung nun ändern.

Anzeige

Android KTX bietet eine API-Schicht für Kotlin zum Zugriff auf die Android-Aufrufe. Sie zielt auf die Funktionen, die Kotlin von Haus aus mitbringt, aber in Java fehlen. Außerdem setzt sie einige Methoden so um, wie Kotlin-Entwickler sie gewohnt sind. Ein einfaches Beispiel ist die Umwandlung eines Strings in eine URI. In der herkömmlichen Android-API dient dazu der Befehl

val uri = Uri.parse(myUriString) 

Da Kotlin-Entwickler jedoch gewohnt sind, Typumwandlungen über Befehle im Format .toInt oder .toPattern durchzuführen, bietet die Extension für URIs eine analoge Methode:

val uri = myUriString.toUri()

Während die String-Umwandlung nur syntaktischer Zucker ist, wird Kotlin-Code an anderen Stellen nicht nur deutlich kürzer, sondern auch übersichtlicher, wie folgendes Beispiel vom GitHub-Repository zeigt, das den Codeblock:

view.viewTreeObserver.addOnPreDrawListener(
object : ViewTreeObserver.OnPreDrawListener {
override fun onPreDraw(): Boolean {
viewTreeObserver.removeOnPreDrawListener(this)
actionToBeTriggered()
return true
}
})

auf folgenden reduziert:

view.doOnPreDraw {
actionToBeTriggered()
}

Das gezeigte Einfügen einer Callback-Funktion, die das System aufruft, bevor die Ansicht neu gezeichnet wird, zeigt, wie die Extension die Syntax auf das Wesentliche reduziert und die ansonsten erforderlichen Wrapper entfernt. Um Android KTX zu verwenden, müssen Entwickler es in "build.gradle" integrieren, in der aktuellen Version 0.1 mit folgendem Eintrag:

implementation 'androidx.core:core-ktx:0.1'

Derzeit befindet sich die Erweiterung in der Preview-Phase, sodass die APIs vor dem Erreichen von Version 1.0 nicht als stabil angesehen werden dürfen. Bisher deckt Android KTX nur das Android-Framework ab, Ergänzungen für die Android Support Library befinden sich in Planung. Weitere Details lassen sich dem Android-Entwicklerblog und dem GitHub-Repo entnehmen. Die vollständige API-Dokumentation ist ebenfalls auf GitHub zu finden.

Eine kurze Einführung in Android KTX

Googles Erweiterung für Kotlin-Entwickler ist nicht die erste für die Android-Plattform. JetBrains, das Unternehmen hinter der JVM-Sprache, bietet mit den Kotlin Android Extensions ein Plug-in, das ebenfalls den Code übersichtlicher und kompakter gestaltet. Es zeichnet sich unter anderem dadurch aus, dass es den Aufruf findViewById() kapselt. Dabei nimmt es Entwicklern nicht nur den zusätzlichen Aufruf ab, sodass sie die Inhalte der Elemente beispielsweise über button1.text = "Drück mich" direkt als Property setzen können, sondern optimiert zusätzlich das Laufzeitverhalten durch das Cachen von Views in Containern. Wünschenswert wäre, dass mittelfristig beide Erweiterungen überflüssig werden und Android eine native Kotlin-API erhält. (rme)

Anzeige

13 Kommentare

Themen:

Anzeige
  1. JVM-Sprache: Kotlin 1.1 ist fertig

    Kotlin 1.1 ist fertig

    Die wesentlichen Neuerungen seit der ersten Hauptversion der JVM-Sprache sind Koroutinen und das Kompilieren nach JavaScript. Letzteres ist nun nicht mehr als experimentell gekennzeichnet.

  2. Android Studio 3.0 hat Kotlin an Bord

    Android Studio 3.0 hat Kotlin an Bord

    Gut 20 neue Features bringt die kommende Version der auf IntelliJ IDEA aufbauenden IDE für Android. Neben Jetbrains JVM-Sprache Kotlin gehören die Java-8-Features, einige Design-Tools und neue Emulator-Funktionen zu den Highlights.

  3. JUnit 5 setzt auf Java 8 und verbessert die Anbindung von Erweiterungen

    Java: JUnit 5 setzt auf Java 8 und bietet bessere Erweiterungsmöglichkeiten

    Die aktuelle Version des Java-Test-Frameworks besteht aus mehreren Modulen, die in drei Unterprojekte aufgeteilt sind, mit denen sich Tests flexibler handhaben lassen. Außerdem haben die Macher die Anbindung von Erweiterungen grundlegend geändert.

  4. Kotlin 1.1 Beta bringt Kompilierung nach JavaScript

    Kotlin 1.1 Beta bringt Kompilierung nach JavaScript

    Knapp ein Jahr nach dem 1.0-Release veröffentlicht JetBrains das erste größere Update der JVM-Sprache. Neben Koroutinen und der Kompilierung nach JavaScript gehören gebundene Referenzen und Type Aliases zu den nennenswerten Neuerungen.

  1. Moderne Android-Entwicklung mit Kotlin

    Moderne Android-Entwicklung mit Kotlin

    Kotlin verspricht eine gut lesbare und prägnante Syntax, moderne Sprachfeatures und funktionale Programmierung bei hoher Sicherheit. Lässt die Java-Alternative durch ihr nahtloses Zusammenspiel mit Android auch die Herzen der App-Entwickler höher schlagen?

  2. (Echte) Unit Tests für Android

    (Echte) Unit Tests für Android

    Unit-Tests sollen die kleinsten Softwarebausteine überprüfen. Sie sind schnell angewandt und liefern ein direktes Feedback. Robolectric hilft bei der Umsetzung unter Android.

  3. Jenseits des Smartphones: Android Things

    Jenseits des Smartphones: Android Things

    Google wagt mit Android Things einen aggressiven Schritt in die Welt der Hardwaresteuerung. Das Risiko, das mit der Verwendung der Marke Android einhergeht, zeigt, dass der Suchmaschinenanbieter es ernst meint.

  1. Behörden ignorieren Sicherheitsbedenken gegenüber Windows 10

    Behörden ignorieren Sicherheitsbedenken bei Windows 10

    Deutsche Behörden kaufen fleißig Software bei Microsoft. Dabei gibt es erhebliche Sicherheitsbedenken, die das US-Unternehmen wohl immer noch nicht ausräumen konnte. Unklar ist etwa, welche Daten an den Konzern fließen.

  2. Facebook will Anschriften von Werbekunden überprüfen – via Postkarte

    Facebook will Anschriften von Werbekunden überprüfen – via Postkarte

    Das Soziale Netzwerk will ausländische politische Einflussnahme auf Wahlen mit Hilfe der guten alten Post eindämmen.

  3. Twitter: ab sofort keine Mac-App mehr

    Twitter: ab sofort keine Mac-App mehr

    Das soziale Netzwerk will sich in Zukunft auf ein "konsistentes Anwender-Erlebnis" konzentrieren. Ein Entwickler alternativer Twitter-Apps reagiert mit Preisnachlass.

  4. Siemens-Chef Kaeser: Jobabbau nur Vorgeschmack auf Industrie-Wandel

    Siemens-Chef Kaeser: Jobabbau nur Vorgeschmack auf Industrie-Wandel

    Die Siemens-Beschäftigten laufen seit Wochen Sturm gegen den Jobabbau im Kraftwerksgeschäft. Doch der digitale Wandel schreitet voran - und auch bei anderen Unternehmen wird er massive Folgen haben, ist Konzernchef Kaeser überzeugt.

Anzeige