

- Présentation
- Comment créer une procédure en code Kotlin ?
- Saisir le code d'une procédure globale en Kotlin
- Remarques importantes
- Génération de l'application
- Comment exécuter une procédure WLangage ?
- Exécuter une procédure WLangage depuis le code Kotlin
- Remarques importantes
Kotlin est un langage de programmation utilisable sous Android.
A partir de la version 28, il est possible de saisir directement du code en langage Kotlin dans l'éditeur de code.
Une coloration syntaxique facilite l'écriture et la lecture du code dans ce langage.
Vous pouvez ainsi créer des procédures globales entièrement en Kotlin.
Ces procédures Kotlin peuvent appeler directement les procédures WLangage de votre projet.
Comment créer une procédure en code Kotlin ?
Saisir le code d'une procédure globale en Kotlin
Pour saisir le code d'une procédure globale en Kotlin :
- Créez une nouvelle procédure globale (par exemple option "Nouvelle procédure globale" du menu contextuel des collections de procédures dans le volet "Explorateur de projet"). Indiquez le nom de cette procédure.
- La procédure est créée sous l'éditeur de code.
- Dans l'entête de la procédure, cliquez sur le logo "WL" pour changer le type de code.
- Dans la liste qui s'ouvre, sélectionnez "Kotlin".
- Le bandeau devient violet et les caractères "Kotlin" apparaissent devant le nom de la procédure. Le code existant est mis en commentaires.
- Saisissez le code Kotlin directement dans l'éditeur de code de WINDEV Mobile.
Remarque : Pour revenir en code WLangage, il suffit de cliquer sur "Kotlin" dans le bandeau de la procédure et de sélectionner "WLangage".
Remarques importantes
- Le passage de paramètres à une procédure Kotlin est réalisé automatiquement par valeur.
- Les paramètres des procédures écrites en code Kotlin doivent obligatoirement être typées avec un type primitif (entier, réel, chaîne, ...).
Attention : Le type float n'est pas géré, il peut être remplacé par le type double.
- Les valeurs de retour des méthodes doivent obligatoirement correspondre à un type primitif (entier, réel, chaîne, ...).
Attention : Le type float n'est pas géré, il peut être remplacé par le type double.
- Attention : il est nécessaire d'ajouter les imports correspondant aux classes Kotlin utilisées dans le code Kotlin natif saisi (grâce au mot-clé "Import"). Par souci de lisibilité, il est recommandé d'ajouter ces imports avant la déclaration de la méthode.
- Kotlin est "case-sensitive" : veillez à respecter les minuscules et les majuscules dans les noms des fonctions.
- Si le code Kotlin natif ainsi saisi a besoin de permissions particulières pour être exécuté, vous devrez les définir explicitement lors de la génération de l'application. Pour plus d'information sur les permissions, consultez Génération d'une application pour Android.
- Les classes et méthodes du SDK Android manipulent souvent une référence sur un objet de type "Context". Dans un projet Android, lors de la saisie de code natif, il est possible de récupérer un objet de type "Context" en obtenant une référence sur l'activité en cours ou sur le contexte de l'application grâce aux méthodes suivantes qui peuvent être appelées directement dans le code de la procédure en code natif :
// Récupération de l'activité en cours
getActiviteEnCours()
// Récupération du "Context" en cours
getContexteApplication()
- Pour récupérer l'objet de type View correspondant au composant principal d'un champ, il faut utiliser la méthode getView en lui passant le nom du champ.
Exemple : Le code suivant retourne l'instance de la classe "Button" utilisée par le champ :
Génération de l'application
Les classes Kotlin utilisées dans le code Kotlin natif doivent être spécifiées dans l'assistant de génération de l'application Android :
- étape "Intégration de librairies" pour les classes incluses dans des librairies ".jar" ou ".aar".
- étape "Intégration des dépendances Maven" pour les dépendances Maven.
Remarque : Il n'est pas possible de tester ces classes en GO. Il est nécessaire de générer l'application puis de la lancer.
Comment exécuter une procédure WLangage ?
Exécuter une procédure WLangage depuis le code Kotlin
Pour exécuter une procédure WLangage depuis le code Kotlin, il suffit d'appeler une des méthodes suivantes en fonction du type de la valeur renvoyée par la procédure :
|Nom de la méthode||Type Kotlin de retour|
|appelProcedureWL||void (pas de valeur de retour)|
|appelProcedureWL_String||String|
|appelProcedureWL_int||int|
|appelProcedureWL_double||double|
|appelProcedureWL_long||long|
|appelProcedureWL_boolean||boolean|
Lors de l'appel de la méthode choisie :
- le premier paramètre à passer à la méthode correspond au nom de la procédure WLangage à exécuter.
- les paramètres suivants correspondent aux paramètres attendus par la procédure WLangage si nécessaire. Il est possible d'utiliser des paramètres de n'importe quel type simple Kotlin (string, int, double, long, boolean, ...). Si le paramètre spécifié ne correspond pas à un type simple Kotlin, il sera automatiquement converti en "string" par appel de sa méthode "toString()".
Exemple :
Code de la procédure WLangage :
PROCÉDURE GLOBALE MaProcédure(n est un entier, b est un booléen, s est une chaîne)
...
RENVOYER s
Pour appeler la procédure MaProcédure depuis le code Kotlin :
appelProcedureWL_String("MaProcedure",5,false,"test")
Remarques importantes
- Si la procédure à exécuter est une procédure locale, il est recommandé de donner son nom complet en précisant le nom de l'élément auquel appartient la procédure. Exemple : "FEN_Fenetre1.MaProcedure".
- Le nom de la procédure à exécuter ne doit contenir que des caractères alphanumériques non accentués.
- Si la procédure à exécuter retourne une valeur, cette valeur sera automatiquement convertie dans le type primitif Kotlin correspondant à la méthode utilisée pour l'appel de la procédure. Si la conversion ne peut pas être effectuée, une erreur fatale sera déclenchée.
- Les paramètres de la procédure sont passés par copie.