Developers » AS2 tagging » Android » Fonctionnalités avancées » Kotlin et Android
Kotlin et Android
Avant-propos
Le langage de programmation orienté objet Kotlin est désormais supporté officiellement par Android.
Un plugin pour Kotlin est embarqué dans Android Studio depuis sa version 3.0.
Voir l’article issu de la documentation officielle Android : https://developer.android.com/kotlin/index.html
Principes du marquage avec Kotlin
Kotlin est entièrement supporté par Android Studio 3.0, il est donc relativement simple de créer de nouveaux projets contenant des fichiers Kotlin, d’ajouter des fichiers Kotlin dans un projet existant ou encore de convertir du code Java en Kotlin (voir la rubrique « Get Started with Kotlin » de la documentation officielle pour plus de détails).
Kotlin permet une interopérabilité complète avec le langage Java. C’est pourquoi, les principes de fonctionnement ainsi que les méthodes d’intégration documentés dans votre rubrique « Bien commencer » restent inchangés.
Android Studio 3.0 propose différents outils de conversion. Il est ainsi possible de convertir un fichier Java (extension .java) en fichier Kotlin (extension .kt) en ouvrant le fichier puis en sélectionnant le menu Code > Convert Java File to Kotlin File. Vous pouvez aussi créer un nouveau fichier Kotlin (menu File > New > Kotlin File/Class) puis y insérer du code Java. Dans ce cas, une boîte de dialogue s’ouvrira proposant la conversion automatique du code. Les exemples de marquage Android définis en Java peuvent donc être insérés en l’état entraînant une conversion automatique.
Exemple de marquage
Marquage d’un Geste avec Debugger en Java
package com.atinternet; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.Debugger; import com.atinternet.tracker.Tracker; public class MainActivity extends AppCompatActivity { Tracker tracker; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); findViewById(R.id.sendHit).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { tracker.Gestures().add("TouchTest").sendTouch(); } }); Debugger.create(this, tracker); } }
Marquage équivalent en Kotlin
package com.atinternet import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.view.View import android.widget.Button import com.atinternet.tracker.ATInternet import com.atinternet.tracker.Debugger import com.atinternet.tracker.Tracker class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val tracker: Tracker = ATInternet.getInstance().getDefaultTracker() val button = findViewById<Button>(R.id.sendHit) button.setOnClickListener(object : View.OnClickListener { override fun onClick(v: View?) { tracker.Gestures().add("TouchTest").sendTouch() } }) Debugger.create(this, tracker) } }
Dernière mise à jour : 03/01/2018