Par Valentin Brosseau / @c4software
Une plateforme mobile, développée par Google, qui repose sur un noyau Linux.
Vous installez une application inconnue.
Peut-elle lire les données des autres applications ?
app : le code source et les ressources.res : les images, les textes, les icônes.gradle : la configuration du build.La « carte d'identité » de l'application :
activity ;Un écran, des boutons, une liste…
Comment décrit-on une interface ?
Un fichier XML pour dessiner l'écran, du code pour le faire vivre.
Deux mondes à garder synchronisés.
Column() {
Text("Texte 1")
Text("Texte 2")
Text("Texte 3")
}L'interface s'écrit en Kotlin. Vous décrivez ce que vous voulez voir.
Text, Button, Image… : ce qui s'affiche.Column, Row, Box : la disposition.Button(onClick = { /* Code appelé lors du clic sur le bouton */ }) {
Text("Mon bouton")
}Une action, et un contenu… qui est lui-même un composant.
Text(
text = "Hello World",
modifier = Modifier.fillMaxWidth() // Remplit toute la largeur de l'écran
)Taille, marge, couleur, clic : disponible partout, et chaînable.
Des composants prêts à l'emploi, qui intègrent les bonnes pratiques de Google.
Votre projet l'utilise déjà (version 3).
Votre application sort en Italie.
Combien de fichiers de code faut-il modifier ?
strings.xml, jamais en dur dans le code.// Récupération du context
val context = LocalContext.current
Toast.makeText(context, "Je suis un Toast", Toast.LENGTH_LONG).show();Le Context : l'accès aux ressources et aux services du téléphone.
L'utilisateur clique.
Comment l'interface se met-elle à jour ?
var showDialog by remember { mutableStateOf(false) }
if (showDialog) {
// Afficher le Dialog
}Compose observe la variable : quand elle change, l'interface est recomposée.
Modifier.Place au TP 🚀