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ör att följa med mig måste du ha:
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.
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.
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.
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.
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 setContentView
i onCreate
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")
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.
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.