Så här använder du Kotlin i dina Android-projekt

Introduktion

Kotlin, open source-programmeringsspråket som designats av JetBrains, blir allt populärare bland Java-utvecklare. Det pryds ofta som Java efterträdare. Jämfört med Java, erbjuder den en rikare utvecklingsupplevelse, eftersom den är modernare, uttrycksfull och kortfattad.

Om du letar efter ett alternativt programmeringsspråk för Android-utveckling ska du ge Kotlin ett försök. Det kan enkelt användas istället för eller tillsammans med Java i dina Android-projekt.

I den här handledningen visar jag dig hur du använder Kotlin och Kotlin-plugins i dina Android Studio-projekt.

förutsättningar

För att följa med mig måste du ha:

  • den senaste versionen av Android Studio
  • en grundläggande förståelse för Kotlin-syntaxen

Om du inte är känd med Kotlins programmeringsspråk rekommenderar jag att du läser avsnittet Komma igång i Kotlin-referensen för att få fart på språket.

1. Installera Kotlin Plugins

I Android Studio snabbmeny väljer du Konfigurera> Plugins.

På nästa skärm klickar du på Installera JetBrains plugin ... på botten.

Välj Kotlin Extensions For Android från listan och klicka på Installera plugin till höger.

Eftersom plugin beror på Kotlin-plugin, kommer du att bli ombedd att installera båda. Klick Ja för att börja installationen.

När installationen är klar startar du om Android Studio för att aktivera pluginprogrammen.

2. Skapa en Kotlin Aktivitet

Högerklicka på namnet på ditt paket i Android Studio och välj Ny> Kotlin-fil.

I den dialog som dyker upp anger du namnet på det nya Aktivitet och välj Klass från rullgardinsmenyn. Jag har namngett min klass Huvudaktivitet.

När klassen har skapats visas en varning som ber dig konfigurera din appmodul för att stödja Kotlin.

Klicka på länken i varningen och klicka på i dialogrutan som dyker upp ok för att välja standardvärdena.

För att konfigurera ditt projekt för att stödja Kotlin, gör Kotlin-plugin flera ändringar i build.gradle fil. Använd dessa ändringar genom att klicka på Synkronisera nu knappen som visas nedan.

Vid denna tidpunkt är ditt projekts konfiguration klar. Gå tillbaka till Kotlin klassen du skapade för en stund sedan för att starta kodning i Kotlin.

3. Användning av Kotlin

För att hålla exemplet enkelt kommer jag att visa dig hur du skapar en Aktivitet med en singel Textview som visar a Sträng.

Se till att din klass är en underklass av Aktivitet och åsidosätta dess onCreate metod. Självklart måste du göra det i Kotlin. Om du är ny på Kotlin, föreslår jag att du använder Android Studio kodgenereringsfunktionalitet genom att trycka på Kontroll + O för att få metodens signaturer rätt.

Din klass ska nu se ut så här:

paketet com.hathy.kotlinsample import android.app.Activity import android.os.Bundle public class MainActivity: Activity () överrätta kul påCreate (savedInstanceState: Bundle?) super.onCreate (savedInstanceState)

Skapa en instans av Textview som en lokal-variabel-tilldelning genom att använda val nyckelord.

val myMessage = TextView (detta)

Ring dess setText metod för att ställa in Sträng du vill visa och ringa setContentView för att visa textvyn.

myMessage.setText ("Hello") setContentView (myMessage)

Som du skulle för en Java Aktivitet, du måste förklara din Kotlin Aktivitet i din app AndroidManifest.xml för att den ska erkännas av Android-systemet. Om detta är det enda Aktivitet I ditt projekt ska din manifestfil se ut så här:

     

Du kan nu kompilera och köra din app på din Android-enhet eller emulator. Medan Kotlin-kompilatorn är något långsammare än Java, är det osannolikt att du ser någon betydande förändring av projektets byggtid.

4. Använda Kotlin Android Extensions

De Kotlin Android Extensions plugin kan du behandla widgetsna du definierar i layout XML för en Aktivitet som om de var egenskaper av det Aktivitet. Med andra ord, om du använder det här pluginet, behöver du aldrig ringa findViewById. Dessa egenskaper kallas lämpligt syntetiska egenskaper.

Om du vill använda den här funktionen i din app måste du lägga till org.jetbrains.kotlin: Kotlin-android-extensions som ett build-scriptberoende i din appmodul build.gradle enligt nedanstående. Glöm inte att klicka på Synkronisera nu knappen för att synkronisera ditt projekt.

buildscript beroenden classpath "org.jetbrains.kotlin: kotlin-android-extensions: $ kotlin_version"

Låt oss nu skapa en Aktivitet liknar den som vi skapade i föregående steg, men använd en layout XML för att definiera Textview. Skapa en ny layout XML-fil som heter another_activity.xml. I layout XML-filen, definiera a Textview med en id av mitt meddelande.

   

Skapa en annan Kotlin-klass, AnotherActivity, som sträcker sig Aktivitet och åsidosätta dess onCreate metod. Så här ska genomförandet se ut:

paketet com.hathy.kotlinsample import android.app.Activity import android.os.Bundle public class AnotherActivity: Aktivitet () överträffa roligt onCreate (savedInstanceState: Bundle?) super.onCreate (savedInstanceState)

Ring upp setContentViewonCreate metod för att använda layout XML som du just skapat som layouten av detta Aktivitet.

setContentView (R.layout.another_activity)

Nu, istället för att ringa findViewById för att få en hänvisning till Textview, Du kan importera den med följande kodbit:

importera kotlinx.android.synthetic.another_activity.myMessage

Om du hade fler widgets i din layout kan du importera dem alla med hjälp av följande kodbit:

importera kotlinx.android.synthetic.another_activity. *

Du kan nu komma åt din Textview använder dess id som om det var en egenskap av Aktivitet klass. Till exempel, för att ändra texten på Textview, du kan skriva:

myMessage.setText ( "Hello")

5. Konvertera Java-klasser till Kotlin

Du kan använda Kotlin-pluginet för att konvertera befintliga Java-klasser till Kotlin-klasser. För att prova den här funktionen skapar du en ny Java-klass med följande implementering. Det är enkelt Aktivitet som loggar summan av två heltal.

offentlig klass YetAnotherActivity utökar aktivitet privat int a, b; @Override protected void onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); a = 10; b = 20; Log.d ("MESSAGE", "Summan är" + (a + b)); 

Konvertera Java-klassen till en Kotlin-klass genom att trycka på Kontroll + Alt + Skift + J, eller från menyn väljer du Kod> Konvertera Java-fil till Kotlin-fil.

Efter omvandlingen ser din klass ut så här:

public class YetAnotherActivity: Activity () privat var a: Int = 0 privat var b: Int = 0 åsidosätta roligt onCreate (savedInstanceState: Bundle?) super.onCreate (savedInstanceState) a = 10 b = 20 Log.d "," Summan är "+ (a + b)) 

Du kommer också att märka att filens tillägg har ändrats från .java till .kt.

Slutsats

I den här handledningen har du lärt dig hur du använder Kotlin i dina Android-projekt efter installationen av Kotlin-plugin och Kotlin Android Extensions-plugin för Android Studio. Eftersom Kotlin- och Java-klasserna i stor utsträckning är driftskompatibla, om du fortfarande lär dig Kotlin, är det bäst att introducera det i dina Android-projekt gradvis.

För att lära mig mer om Kotlin rekommenderar jag att du läser Kotlin-referensen. Komma igång-sektionen hjälper dig att få fart på det här nya språket.