Einführung in Kotlin (mit Android Studio)

5. May 2018 - Android Studio, Kotlin

Der ein oder andere hat sicherlich schon mal etwas von Kotlin gehört. Hierbei handelt es sich um eine statisch-typisierte Sprache von JetBrains. Man kann es auch einfach verkürzt sagen: Es ist eine Alternative zu Java. Vielleicht sogar Java in einem neuen, cooleren Gewand. Mit einigen Extras, und vielen Verkürzungen in Sachen Code.

Es soll Ähnlichkeiten zu Swift aufweisen, was ich leider aufgrund mangelnder Erfahrung mit Swift, nicht kommentieren kann. Es erinnert mich jedoch auch start an Typescript. Man kann Kotlin natürlich auch in einer komplett eigenen Umgebung aufsetzen, wofür man dann einen Compiler braucht. Und vielleicht noch mehr. Man kann es aber auch einfach, wie ich es mache und hier auch zeigen möchte, in einem Android Projekt ausprobieren. Es gibt aber auch noch eine Kotlin Testplattform im Internet, wo man nichts neu installieren muss, um es ausprobieren zu können.

Wer sich die Testplattform kurz anschaut wird auf jeden Fall schon mal einen ersten Eindruck von Kotlin erhalten. Hier ist mal als kleiner Vorgeschmack die Main Methode:

fun main(args: Array<String>) {
    println("Hello, world!")
}

Und hier noch einmal zum Vergleichen, falls der ein oder andere, wie ich, auch schon lange nicht mehr wirklich eine Java Main Methode selbst implementiert hat und somit auch nicht auswendig weiß, wie sie nun aussieht.

public class Main { 
    public static void main(String[] args){ 
        System.out.println("Eine Ausgabe"); 
    } 
}

Es ist doch schon etwas sehr verkürzt. Und verkürzt ist immer gut. So muss man nicht ständig System.out schreiben, weil man eigentlich nur ein println haben möchte. Wobei mir persönlich auch ein print reichen würde… Und auch tolle IDEs mit Features wie sout+tab haben die Welt nicht wirklich einfacher gemacht.

Aber dafür gibt es ja nun Kotlin. Und jetzt soll es endlich losgehen mit einer kurzen Einführung von Klassen und Variablen.

Ich selbst nutze Kotlin, wie bereits erwähnt, in Android. Also für mobile Apps. Wenn ihr Android Studio 3 habt wird Kotlin direkt angeboten zur Programmierung. Beim Anlegen eines neuen Android Projekts kann unten angeklickt werden, dass man einen Kotlin Support haben möchte.

Screenshot aus Android Studio beim Anlegen eines neuen Projekts

Ich habe dann als Template das mit BottomNavigation gewählt. Das Resultat hat mich dann erst einmal doch ein wenig schockiert. Lesbar ist das alles schon, wenn man Java/Android kennt. Aber wirklich aus dem Kopf programmieren könnte ich das meiste vermutlich so schnell nicht selbst.

Die MainActivity.kt sieht so aus:

class MainActivity : AppCompatActivity() {

    private val mOnNavigationItemSelectedListener = BottomNavigationView.OnNavigationItemSelectedListener { item ->
        when (item.itemId) {
            R.id.navigation_home -> {
                return@OnNavigationItemSelectedListener true
            }
            R.id.navigation_dashboard -> {
                message.setText(R.string.title_dashboard)
                return@OnNavigationItemSelectedListener true
            }
            R.id.navigation_notifications -> {
                message.setText(R.string.title_notifications)
                return@OnNavigationItemSelectedListener true
            }
        }
        false
    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener)
    }
}

Ich habe mich dann erst einmal dazu entschieden klein anzufangen. Klein heißt für mich, die Kotlin Basics. Und genau diese würde ich gerne hier ein wenig niederschreiben in der kommenden Zeit.
Und was ist mehr Basic als eine kurze Übersicht der Variablen Benutzung in einer Programmiersprache.

Variablen

Wichtig zu wissen ist erst einmal, dass “normale” Variablen mit dem Wort var deklariert werden. Gefolgt von Namen der Variablen und dem Datentypen nach dem Doppelpunkt :

var vorname: String = "Jimmi"

Das Semikolon am Ende fehl, wie man sehen kann. Es ist nicht mehr überall notwendig. Welch Segen. Ob es da eine bestimmte Regel gibt, wann es gebraucht wird, und wann nicht, weiß ich nicht. Ich habe mal gelesen, dass der Compiler bzw die IDE schon mitteilt, wenn es Semikolon fehlt. Genau so gibt die IDE (hier: Android Studio) einen Hinweis, wenn ein Semikolon überflüssig ist.

Screenshot Android Studio mit dem Hinweis auf ein redundantes Semikolon

Das die Variable direkt einen Wert zugewiesen bekommt ist mehr oder weniger verpflichtend. Wobei eigentlich nicht. Man kann auch einfach “” schreiben. Oder, wenn man der Variablen später einen Wert zuweisen möchte, was ja oft vorkommt, kann man ihr einen lateinit mitgeben. In dem Fall kann ein Wert später zugewiesen werden.

lateinit var vorname: String

Das Gleiche gilt auch für Zahlen

var age: Number             // geht nicht
var age: Number = 0         // geht
lateinit var age: Number   //geht

Soll auf eine Variable nur lesend zugegriffen werden und soll der Wert konstant sein, also sich nach einmaliger Zuweisung nicht verändern lassen, wird aus der var ein val.

val vorname = "Jimmi"
vorname = "Susi"        // geht nicht

Null Werte

Wenn eine Variable den Wert null annehmen können soll, muss dies durch ein ? angegeben werden. Dieses ? muss hinter dem Datentypen angegeben werden.

var vorname: String? = null

Was noch zu erwähnen ist: lateinit und das ? können nicht zusammen genutzt werden.

Ansonsten gibt es an Datentypen die üblichen Verdächtigen.

val intZahl: Int = 100
val doublezahl: Double = 17.56
val floatZahl: Float = 100.00f
val longZahl: Long = 100005833004
val shortZahl: Short = 23
val einByte: Byte = 1
var einChar: Char = 'A'

Das soll es auch erst einmal gewesen sein mit einem kurzen Einstieg in Kotlin.

 

Hinterlass doch ein Like :)Share on FacebookTweet about this on TwitterShare on Google+

Leave a Reply