Kotlin, open source programmeringsspråket designet av JetBrains, blir stadig mer populært blant Java-utviklere. Det er ofte spioneringen som javas etterfølger. Sammenlignet med Java, tilbyr den en rikere utviklingsopplevelse, fordi den er mer moderne, uttrykksdyktig og konsis.
Hvis du leter etter et alternativt programmeringsspråk for Android-utvikling, bør du gi Kotlin en prøve. Den kan enkelt brukes i stedet for eller sammen med Java i Android-prosjektene dine.
I denne veiledningen vil jeg vise deg hvordan du bruker Kotlin- og Kotlin-plugins i dine Android Studio-prosjekter.
For å følge med meg må du ha:
Hvis du ikke er kjent med Kotls programmeringsspråk, anbefaler jeg at du leser Komme i gang-delen av Kotlin-referansen for å komme opp til språket med språket.
I Android Studios hurtigstartsmeny, velg Konfigurer> Plugins.
I neste skjermbilde klikker du Installer JetBrains plugin ... på bunnen.
Å velge Kotlin Extensions For Android fra listen og klikk Installer plugin til høyre.
Fordi pluginet er avhengig av Kotlin-pluginet, blir du bedt om å installere begge. Klikk Ja for å starte installasjonen.
Når installasjonen er fullført, start på nytt Android Studio for å aktivere pluginene.
Aktivitet
I Android Studio høyreklikker du navnet på pakken din og velger Ny> Kotlin-fil.
I dialogboksen som dukker opp, skriv inn navnet på det nye Aktivitet
og velg Klasse fra rullegardinlisten. Jeg har kalt klassen min Hoved aktivitet.
Når klassen er opprettet, vil du se et varsel som ber deg om å konfigurere appmodulet ditt for å støtte Kotlin.
Klikk på linken i varselet, og klikk i dialogboksen som vises OK å velge standardverdiene.
For å konfigurere prosjektet ditt for å støtte Kotlin, gjør Kotlin plugin flere endringer i build.gradle fil. Bruk disse endringene ved å klikke på Synkroniser nå knappen som vist nedenfor.
På dette tidspunktet er prosjektets konfigurasjon fullført. Gå tilbake til Kotlin-klassen du opprettet for øyeblikket for å starte kodingen i Kotlin.
For å holde eksemplet enkelt, vil jeg vise deg hvordan du lager en Aktivitet
med en singel TextView
som viser a string
.
Pass på at klassen din er en underklasse av Aktivitet
og overstyr det onCreate
metode. Selvfølgelig må du gjøre det i Kotlin. Hvis du er ny til Kotlin, foreslår jeg at du bruker Android Studios kodegenereringsfunksjonalitet ved å trykke Kontroll + O for å få metoden signaturer riktig.
Din klasse skal nå se slik ut:
pakke com.hathy.kotlinsample import android.app.Activity import android.os.Bundle offentlig klasse MainActivity: Activity () overstyre moro onCreate (savedInstanceState: Bundle?) super.onCreate (savedInstanceState)
Opprett en forekomst av TextView
som en tilordnet en gang lokal variabel ved å bruke val
søkeord.
val myMessage = Tekstvisning (dette)
Ring det setText
metode for å angi string
du vil vise og deretter ringe setContentView
for å vise tekstvisningen.
myMessage.setText ("Hello") setContentView (myMessage)
Som du ville for en Java Aktivitet
, du må erklære din Kotlin Aktivitet
i appen din AndroidManifest.xml for at den skal gjenkjennes av Android-systemet. Hvis dette er det eneste Aktivitet
i prosjektet ditt skal manifestfilen se slik ut:
Du kan nå kompilere og kjøre appen din på Android-enheten din eller emulatoren. Mens Kotlin-kompilatoren er litt tregere enn Java, er det lite sannsynlig at du ser noen vesentlig endring i prosjektets byggetid.
De Kotlin Android Extensions plugin lar deg behandle widgets du definerer i layout XML av en Aktivitet
som om de var egenskaper av det Aktivitet
. Med andre ord, hvis du bruker dette pluginet, må du aldri ringe findViewById
. Disse egenskapene er passende kalt syntetiske egenskaper.
Hvis du vil bruke denne funksjonen i appen din, må du legge til org.jetbrains.kotlin: Kotlin-android-utvidelser
som en bygge scriptavhengighet i appmodulets build.gradle som vist under. Ikke glem å klikke på Synkroniser nå knappen for å synkronisere prosjektet ditt.
buildscript avhengighet classpath "org.jetbrains.kotlin: kotlin-android-utvidelser: $ kotlin_version"
La oss nå lage en Aktivitet
ligner den vi opprettet i forrige trinn, men bruk et layout XML for å definere TextView
. Opprett en ny layout XML-fil som heter another_activity.xml. I layout XML-filen, definer en TextView
med en id
av myMessage.
Lag en annen Kotlin-klasse, AnotherActivity, som strekker seg Aktivitet
og overstyr det onCreate
metode. Slik ser implementeringen ut:
pakke com.hathy.kotlinsample import android.app.Activity import android.os.Bundle public class AnotherActivity: Aktivitet () overstyre moro onCreate (savedInstanceState: Bundle?) super.onCreate (savedInstanceState)
Anrop setContentView
i onCreate
metode for å bruke layout XML du nettopp opprettet som utformingen av dette Aktivitet
.
setContentView (R.layout.another_activity)
Nå, i stedet for å ringe findViewById
for å få en referanse til TextView
, Du kan importere den ved hjelp av følgende kodestykke:
importer kotlinx.android.synthetic.another_activity.myMessage
Hvis du hadde flere widgets i oppsettet ditt, kan du importere dem alle ved hjelp av følgende kodestykke:
importer kotlinx.android.synthetic.another_activity. *
Du kan nå få tilgang til din TextView
bruker sin id
som om det var en eiendom av Aktivitet
klasse. For eksempel, for å endre teksten til TextView
, du kan skrive:
myMessage.setText ( "Hello")
Du kan bruke Kotlin-pluginet til å konvertere eksisterende Java-klasser til Kotlin-klasser. For å prøve denne funksjonen, opprett en ny Java-klasse med følgende implementering. Det er enkelt Aktivitet
som logger summen av to heltall.
offentlig klasse YetAnotherActivity utvider Aktivitet privat int a, b; @Override protected void onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); a = 10; b = 20; Log.d ("MESSAGE", "Summen er" + (a + b));
Konverter Java-klassen til en Kotlin-klasse ved å trykke Ctrl + Alt + Shift + J, eller, fra menyen, velg Kode> Konverter Java-fil til Kotlin-fil.
Etter konverteringen vil klassen din se slik ut:
offentlig klasse YetAnotherAktivitet: Aktivitet () privat var a: Int = 0 privat var b: Int = 0 overstyr moro onCreate (savedInstanceState: Bundle?) super.onCreate (savedInstanceState) a = 10 b = 20 Log.d ("MESSAGE "," Summen er "+ (a + b))
Du vil også legge merke til at filens utvidelse har endret seg fra .java til .kt.
I denne opplæringen har du lært hvordan du bruker Kotlin i Android-prosjekter etter installering av Kotlin-plugin og Kotlin Android Extensions-plugin for Android Studio. Som Kotlin og Java-klasser er i stor grad interoperable, hvis du fortsatt lærer Kotlin, er det best å introdusere det i Android-prosjektene dine gradvis.
For å lære mer om Kotlin, anbefaler jeg at du leser Kotlin-referansen. Komme i gang-delen vil hjelpe deg med å få fart på dette nye språket.