Kotlin, de open source programmeertaal ontworpen door JetBrains, wordt steeds populairder bij Java-ontwikkelaars. Het wordt vaak aangeprezen als de opvolger van Java. In vergelijking met Java biedt het een rijkere ontwikkelingservaring, omdat het moderner, expressiever en beknopter is.
Als u op zoek bent naar een alternatieve programmeertaal voor Android-ontwikkeling, moet u Kotlin eens proberen. Het kan gemakkelijk in plaats van of naast Java worden gebruikt in uw Android-projecten.
In deze zelfstudie laat ik je zien hoe je Kotlin- en Kotlin-plug-ins gebruikt in je Android Studio-projecten.
Om met mij mee te gaan, moet je:
Als u niet vertrouwd bent met de Kotlin-programmeertaal, raad ik u aan het gedeelte Aan de slag van de Kotlin-referentie te lezen om op de hoogte te zijn van de taal.
Selecteer in het snelstartmenu van Android Studio Configureren> Plug-ins.
Klik in het volgende scherm JetBrains-plug-in installeren ... aan de onderkant.
kiezen Kotlin-extensies voor Android uit de lijst en klik Installeer plugin aan de rechterkant.
Omdat de plug-in afhankelijk is van de Kotlin-plug-in, wordt u gevraagd om beide te installeren. Klik Ja om met de installatie te beginnen.
Wanneer de installatie is voltooid, start u Android Studio opnieuw op om de plug-ins te activeren.
Activiteit
Klik in Android Studio met de rechtermuisknop op de naam van uw pakket en selecteer Nieuw> Kotlin-bestand.
Typ in het dialoogvenster dat verschijnt de naam van de nieuwe Activiteit
en selecteer Klasse uit de vervolgkeuzelijst. Ik heb mijn klas genoemd Hoofdactiviteit.
Nadat de klas is gemaakt, ziet u een melding waarin u wordt gevraagd uw app-module te configureren om Kotlin te ondersteunen.
Klik op de koppeling in de melding en klik in het dialoogvenster dat verschijnt OK om de standaardwaarden te kiezen.
Om uw project zo te configureren dat Kotlin wordt ondersteund, maakt de Kotlin-plug-in verschillende wijzigingen in de build.gradle het dossier. Pas deze wijzigingen toe door op te klikken Synchroniseer nu knop zoals hieronder weergegeven.
Op dit punt is de configuratie van uw project voltooid. Ga terug naar de Kotlin-klasse die je zojuist hebt gemaakt om te beginnen met coderen in Kotlin.
Om het voorbeeld simpel te houden, laat ik je zien hoe je een. Kunt maken Activiteit
met een single Tekstweergave
dat toont een Draad
.
Zorg ervoor dat uw klas een subklasse is van Activiteit
en negeer het onCreate
methode. Natuurlijk moet je dat in Kotlin doen. Als u nieuw bent bij Kotlin, raad ik u aan de codegeneratie-functionaliteit van Android Studio te gebruiken door op te drukken Control + O om de methodehandtekeningen goed te krijgen.
Je klas zou er nu als volgt uit moeten zien:
pakket com.hathy.kotlinsample import android.app.Activity import android.os.Bundle public class MainActivity: Activity () overschrijf plezier onCreate (savedInstanceState: Bundle?) super.onCreate (savedInstanceState)
Maak een instantie van Tekstweergave
als een lokale variabele éénmalig toewijzen met behulp van de val
trefwoord.
val myMessage = TextView (this)
Noem het zijn setText
methode om de Draad
u wilt weergeven en vervolgens bellen setContentView
om de tekstweergave weer te geven.
myMessage.setText ("Hello") setContentView (mijnMessage)
Zoals je zou doen voor een Java Activiteit
, je moet je Kotlin declareren Activiteit
in je app's AndroidManifest.xml om te worden herkend door het Android-systeem. Als dit de enige is Activiteit
in uw project zou uw manifestbestand er als volgt uit moeten zien:
U kunt uw app nu compileren en uitvoeren op uw Android-apparaat of emulator. Hoewel de Kotlin-compiler iets langzamer is dan die van Java, is het onwaarschijnlijk dat u een significante verandering zult zien in de bouwtijd van uw project.
De Kotlin Android-extensies plugin laat je de widgets behandelen die je definieert in de lay-out XML van een Activiteit
alsof ze daar eigenschappen van waren Activiteit
. Met andere woorden, als u deze plug-in gebruikt, hoeft u nooit te bellen findViewById
. Deze eigenschappen worden toepasselijk genoemd synthetische eigenschappen.
Als u deze functie in uw app wilt gebruiken, moet u toevoegen org.jetbrains.kotlin: Kotlin-android-extensions
als afhankelijkheid van een build-script in uw app-modules build.gradle zoals hieronder getoond. Vergeet niet om op te klikken Synchroniseer nu om uw project te synchroniseren.
buildscript dependencies classpath "org.jetbrains.kotlin: kotlin-android-extensions: $ kotlin_version"
Laten we nu een maken Activiteit
vergelijkbaar met degene die we in de vorige stap hebben gemaakt, maar gebruik een lay-out-XML om het te definiëren Tekstweergave
. Maak een nieuw lay-out XML-bestand met de naam another_activity.xml. Definieer in het XML-lay-outbestand een Tekstweergave
Met een ID kaart
van mijn bericht.
Maak nog een Kotlin-les, AnotherActivity, dat breidt zich uit Activiteit
en negeer het onCreate
methode. Dit is hoe de implementatie eruit zou moeten zien:
pakket com.hathy.kotlinsample import android.app.Activity import android.os.Bundle public class AnotherActivity: Activity () override fun onCreate (savedInstanceState: Bundle?) super.onCreate (savedInstanceState)
telefoontje setContentView
in de onCreate
methode om de lay-out-XML te gebruiken die u zojuist hebt gemaakt als de lay-out hiervan Activiteit
.
setContentView (R.layout.another_activity)
Nu, in plaats van te bellen findViewById
om een verwijzing naar de te krijgen Tekstweergave
, je kunt het importeren met behulp van het volgende codefragment:
import kotlinx.android.synthetic.another_activity.myMessage
Als u meer widgets in uw lay-out had, kunt u ze allemaal importeren met behulp van het volgende codefragment:
import kotlinx.android.synthetic.another_activity. *
U hebt nu toegang tot uw Tekstweergave
het gebruiken van zijn ID kaart
alsof het een eigendom van de Activiteit
klasse. Bijvoorbeeld om de tekst van de te wijzigen Tekstweergave
, je kan schrijven:
myMessage.setText ( "Hello")
U kunt de Kotlin-plug-in gebruiken om bestaande Java-klassen naar Kotlin-klassen om te zetten. Als u deze functie wilt proberen, maakt u een nieuwe Java-klasse met de volgende implementatie. Het is een simpel Activiteit
die de som van twee gehele getallen registreert.
public class YetAnotherActivity breidt activiteit uit private int a, b; @Override protected void onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); a = 10; b = 20; Log.d ("MESSAGE", "De som is" + (a + b));
Converteer de Java-klasse naar een Kotlin-klasse door op te drukken Control + Alt + Shift + J, of, uit het menu, selecteren Code> Converteer Java-bestand naar Kotlin-bestand.
Na de conversie ziet je klas er als volgt uit:
public class YetAnotherActivity: Activity () private var a: Int = 0 private var b: Int = 0 override fun onCreate (savedInstanceState: Bundle?) super.onCreate (savedInstanceState) a = 10 b = 20 Log.d ("MESSAGE "," De som is "+ (a + b))
Je zult ook opmerken dat de extensie van het bestand is veranderd van .Java naar .kt.
In deze tutorial heb je geleerd hoe je Kotlin kunt gebruiken in je Android-projecten na het installeren van de Kotlin-plug-in en de Kotlin Android Extensions-plug-in voor Android Studio. Omdat de Kotlin- en Java-klassen grotendeels interoperabel zijn, is het het beste om het, als je nog steeds Kotlin leert, dit geleidelijk aan in je Android-projecten te introduceren.
Voor meer informatie over Kotlin, raad ik aan de Kotlin-referentie te bekijken. Het gedeelte Aan de slag helpt u om op de hoogte te zijn van deze nieuwe taal.