Variables
Une variable est un mécanisme qui vous permet de stocker, de modifier et de réutiliser une valeur définie par l’utilisateur ou pour l’application (un nombre, un texte etc.). Cette valeur affecte l’interface utilisateur d’une manière ou d’une autre à un moment donné.
Voici quelques cas d’usages : stocker et afficher le score de l’utilisateur, savoir si l’utilisateur a déjà ouvert ou non l’application, stocker un code couleur, sauvegarder une sélection de l’utilisateur…
Les variables permettent d’ajouter plus de personnalisation dans votre application et de mettre en place des scénarios logiques avec les conditions.
Qu’est-ce qu’une variable ?
Une variable associe un nom à une valeur qui peut évoluer.
Choisissez le nom de la variable : celui-ci doit être unique, composé de caractères alphanumériques et il doit permettre de comprendre son usage de manière explicite. Par exemple : score pour stocker le score de l’utilisateur ou selected_item pour sauvegarder l’identifiant d’un élément sélectionné par l’utilisateur.
Une fois que votre variable est créée, vous pouvez lui associer une valeur par défaut, modifier sa valeur depuis n’importe quel déclencheur et l’afficher dans l’interface.
Lorsque vous créez une variable via le Datastore, cette variable est locale : elle est stockée seulement sur l’appareil de l’utilisateur. Celle-ci est persistante même après la fermeture de l’application. Par contre, il n’est pas possible d’y accéder si l’utilisateur utilise un autre appareil ou de connaître sa valeur en dehors de l’application.
La valeur d’une variable locale est réinitialisée à sa valeur par défaut à chaque nouvelle publication de l’application.
Vous pouvez également créer une variable associée à un utilisateur grâce au composant Session Firebase. Dans ce cas, il est possible de consulter la valeur de cette variable et/ou de la modifier depuis l’interface de Firebase. Si l’utilisateur utilise un autre appareil, son compte reste associé à cette variable.
Créer une variable
Pour créer une variable :
- Ajoutez un Datastore au niveau Projet afin que la variable reste disponible dans toute l’application.
- Cliquez sur le bouton Ajouter une propriété.
- Choisissez le nom de votre variable et son type. Vous pouvez définir une valeur par défaut.
Types de variables
| Type | Description | Exemple d’usage |
|---|---|---|
| Booléen | Valeur vraie ou fausse (true / false) | Menu ouvert/fermé, favori activé |
| Nombre | Valeur numérique entière ou décimale | Score, compteur, âge |
| Texte | Chaîne de caractères | Nom d’utilisateur, réponse saisie |
| Couleur | Code couleur hexadécimal | Thème dynamique, fond personnalisé |
| Tableau | Liste de valeurs | Sélections multiples, favoris |
Modifier la valeur d’une variable
Vous pouvez modifier la valeur d’une variable à tout moment et depuis n’importe quelle action de votre interface utilisateur : à l’affichage d’un écran, au clic sur un bouton etc.
Sélectionnez votre déclencheur et l’action Agir sur une source de données. Sélectionnez votre Datastore et l’action Créer/Modifier une donnée (Local).
Choisissez parmi les fonctions possibles : Définir, Incrémenter, Décrémenter, Ajouter, Supprimer.
Dans l’exemple ci-dessous, l’identifiant de l’élément courant est ajouté au sein de la variable saved_items (pour la mise en favoris).
Afficher la valeur d’une variable
Grâce au data binding, vous pouvez afficher la valeur de votre variable dans n’importe quel composant qui accepte une source de données (texte, image, couleur…).
Pour afficher une variable dans un bloc de texte :
- Insérez un bloc Texte.
- Dans le panneau Propriétés, cliquez sur Source.
- Choisissez Depuis le Datastore et sélectionnez votre variable.
Découvrez un cas concret d’utilisation d’une variable : Score
Réinitialiser une variable
Pour remettre une variable à sa valeur par défaut (par exemple au démarrage d’un quiz), utilisez la fonction Définir avec la valeur souhaitée.
Sélectionnez votre déclencheur, puis l’action
0 pour un score).
Placez cette action sur le déclencheur Affichage de l’écran du premier écran de votre activité pour garantir un état propre à chaque nouvelle session.