Qu’est-ce qu’une activity, et comment fonctionne-t-elle ?

Une activity (activité) est l’un des composants fondamentaux d’une application Android et représente généralement un seul écran doté d’une interface utilisateur, comme un écran de connexion, une liste de messages ou une page de paramètres. Chaque activity est une classe qui hérite d’Activity ou, le plus souvent, d’AppCompatActivity ou de ComponentActivity, et elle doit être déclarée dans le fichier AndroidManifest.xml de l’application. Lorsque l’utilisateur ouvre l’application depuis l’écran d’accueil, le système lance l’activity désignée comme point d’entrée de l’application, et à partir de là, l’application peut ouvrir d’autres activities au moyen d’intents.

Une activity possède un cycle de vie contrôlé par le système Android. Grâce à des méthodes comme onCreate(), onStart(), onResume(), onPause(), onStop() et onDestroy(), l’application est avertie lorsque l’écran est créé, devient visible, perd le focus ou est fermé, afin que les ressources puissent être libérées et les données enregistrées au bon moment. De nombreuses applications modernes n’utilisent qu’une ou quelques activities et construisent les différents écrans avec des fragments ou Jetpack Compose, mais l’activity reste l’élément qui relie l’interface utilisateur de l’application au système.

Une activity, dans le développement d’applications, désigne un écran d’une application Android qui sert de fenêtre interactive pour l’utilisateur. Chaque activity est chargée de gérer les interactions de l’utilisateur et de présenter des données, ce qui permet aux développeurs de créer des expériences utilisateur dynamiques et engageantes. Les activities peuvent fonctionner ensemble en se transmettant des données, ce qui garantit une navigation et un fonctionnement fluides dans l’application.

More about Activity

Une activity est un composant central du développement d’applications Android qui représente un seul écran doté d’une interface utilisateur. Chaque activity est une unité autonome qui gère les interactions de l’utilisateur et présente des données, ce qui permet aux développeurs de créer des expériences utilisateur dynamiques et engageantes. Les activities sont des briques fondamentales des applications Android et servent de points d’entrée par lesquels les utilisateurs accèdent aux fonctions de l’application.

Techniquement, une activity est une sous-classe de la classe Activity du SDK Android ; elle fonctionne en gérant des méthodes de cycle de vie qui contrôlent la manière dont l’activity est créée, démarrée, arrêtée et détruite. Lorsqu’une activity est lancée, elle passe par une série d’étapes de cycle de vie qui permettent aux développeurs de gérer efficacement les ressources et de réagir aux interactions de l’utilisateur. Il s’agit notamment des méthodes onCreate(), onStart(), onResume(), onPause(), onStop() et onDestroy(), qui contribuent chacune à garantir une expérience utilisateur fluide et réactive.

Les activities peuvent être présentées de différentes manières, chacune adaptée à un type d’interaction :

  1. Plein écran : l’activity fait ici office d’écran autonome qui gère les interactions de l’utilisateur et présente des données. C’est la forme la plus courante, dans laquelle l’utilisateur navigue entre les différents écrans d’une application.

  2. Sous forme de boîte de dialogue : avec un thème de dialogue, l’activity est présentée comme une boîte de dialogue flottant au-dessus de l’écran actuel. On l’utilise parfois pour afficher des messages importants ou demander une saisie à l’utilisateur sans quitter le contexte actuel, même si les boîtes de dialogue sont plus souvent mises en œuvre avec des dialog fragments ou Compose.

  3. Mode immersif : l’activity prend le contrôle total de l’écran et masque les barres système, comme la barre d’état et la barre de navigation, pour offrir une expérience immersive. C’est idéal pour les jeux ou la lecture de médias, où la concentration sur le contenu est essentielle.

L’une des plus grandes forces des activities est leur capacité à gérer des interactions utilisateur et des schémas de navigation complexes. Le modèle d’activities d’Android prend en charge plusieurs schémas de navigation, comme la pile de retour (back stack), qui permet aux utilisateurs de revenir aux écrans précédents, ce qui crée une expérience utilisateur intuitive et prévisible. Les activities peuvent en outre partager des données et communiquer entre elles au moyen d’intents, ce qui permet une intégration fluide entre les différentes parties d’une application.

Les activities sont aussi conçues pour être économes en ressources. Les méthodes de cycle de vie d’Android permettent aux développeurs d’optimiser la consommation de ressources en libérant celles qui sont inutiles lorsqu’une activity n’est pas visible et en les rechargeant lorsqu’elle revient au premier plan. Cela aide à garantir que les applications restent réactives et efficaces, même sur des appareils aux ressources limitées.

En pratique, les activities ont façonné la manière dont les applications Android sont conçues et développées. Elles offrent une approche structurée de la gestion des interactions de l’utilisateur et des schémas de navigation, ce qui permet aux développeurs de créer des expériences utilisateur riches et engageantes. Les activities sont au cœur de nombreuses applications populaires, où elles servent à organiser le contenu, à gérer les saisies de l’utilisateur et à naviguer entre les différentes fonctions.

En résumé, les activities sont un élément essentiel du développement Android qui allie flexibilité, efficacité et simplicité d’utilisation dans une solution permettant aux développeurs de créer des applications puissantes et intuitives. Leur capacité à gérer des cycles de vie et des schémas de navigation complexes en fait un outil central du développement d’applications moderne, où l’expérience utilisateur et une gestion efficace des ressources sont essentielles.

Frequently asked questions about Activity

Qu’est-ce qu’une activity sur Android ?

Une activity est l’une des briques fondamentales d’une application Android. Elle représente généralement un seul écran doté d’une interface utilisateur, comme un écran de connexion, une liste de messages ou une page de paramètres. L’utilisateur interagit avec l’application par l’intermédiaire de ses activities.

Chaque activity est une classe qui hérite d’Activity ou, plus souvent, d’AppCompatActivity ou de ComponentActivity, et elle doit être déclarée dans le fichier AndroidManifest.xml. Une activity est désignée comme point d’entrée, afin que le système sache quoi ouvrir lorsque l’utilisateur appuie sur l’icône de l’application. Les applications modernes ont souvent peu d’activities et utilisent des fragments ou Jetpack Compose pour afficher les différents écrans.

Comment fonctionne le cycle de vie d’une activity ?

Une activity passe par une série d’états, de sa création jusqu’à sa fermeture. Android appelle des méthodes précises lorsque l’état change. onCreate est appelée lorsque l’activity est créée, et c’est là que l’interface utilisateur est mise en place. onStart et onResume sont appelées lorsqu’elle devient visible et prête à l’emploi.

Lorsque l’utilisateur passe à une autre application ou à un autre écran, onPause et onStop sont appelées, et lorsque l’activity est complètement fermée, onDestroy est appelée. En plaçant le code dans les bonnes méthodes, l’application peut par exemple arrêter une vidéo lorsqu’elle n’est pas visible et enregistrer des données avant d’être fermée. Une mauvaise gestion peut provoquer des erreurs et gaspiller des ressources.

Comment une application passe-t-elle d’une activity à une autre ?

Une application passe d’une activity à une autre au moyen d’un intent. Un intent décrit quelle activity doit être ouverte et peut contenir des données, comme l’identifiant d’un produit que le nouvel écran doit afficher. L’intent est envoyé avec la méthode startActivity.

La nouvelle activity est placée au sommet d’une pile appelée pile de retour (back stack). Lorsque l’utilisateur appuie sur Retour, l’activity du sommet est fermée et la précédente s’affiche de nouveau. Si le nouvel écran doit renvoyer un résultat, comme une image sélectionnée, on utilise l’Activity Result API. De nombreuses applications modernes utilisent toutefois une seule activity et le composant Navigation pour passer d’un écran à l’autre à l’intérieur de celle-ci.

Que se passe-t-il pour une activity lorsque l’écran pivote ?

Lorsque l’utilisateur fait pivoter son téléphone, la configuration change et, par défaut, Android détruit l’activity en cours puis la recrée. Cela permet de charger une mise en page différente adaptée à la nouvelle orientation, mais cela signifie aussi que les données conservées uniquement dans l’activity peuvent être perdues.

Pour l’éviter, on utilise généralement un ViewModel, qui survit aux changements de configuration et conserve des données comme les listes chargées. De petites quantités d’état, comme le texte d’un champ ou une position de défilement, peuvent être enregistrées avec onSaveInstanceState ou avec rememberSaveable dans Jetpack Compose. Il en va de même lorsque la langue, le thème ou la taille de l’écran change.

Quelle est la différence entre une activity et un fragment ?

Une activity est un composant autonome connu du système et déclaré dans AndroidManifest.xml. Elle sert de conteneur à l’interface utilisateur de l’application et peut être lancée directement, par exemple depuis une notification ou une autre application.

Un fragment est une partie plus petite et réutilisable de l’interface utilisateur qui vit toujours à l’intérieur d’une activity. Plusieurs fragments peuvent être affichés dans la même activity, comme une liste et une vue détaillée côte à côte sur une tablette. Les fragments ont leur propre cycle de vie, lié à l’activity qui les héberge. De nombreuses applications utilisent peu d’activities et beaucoup de fragments ou d’écrans Compose.

Que sont les modes de lancement (launch modes) d’une activity ?

Les modes de lancement déterminent comment une nouvelle activity est placée par rapport aux activities existantes lorsqu’elle est lancée. Par défaut, une nouvelle instance est créée à chaque fois, même si la même activity est déjà ouverte.

Avec singleTop, l’activity est réutilisée si elle se trouve déjà au sommet de la pile, au lieu d’en créer une nouvelle. Avec singleTask, une seule instance existe, et les activities situées au-dessus sont supprimées lorsqu’elle est rouverte. singleInstance place l’activity dans sa propre tâche, et depuis Android 12, singleInstancePerTask autorise une instance par tâche. Les modes de lancement sont indiqués dans AndroidManifest.xml ou avec des indicateurs (flags) sur un intent, et servent par exemple à éviter les doublons lorsque l’application est ouverte depuis une notification.

Activity for dummies

Une activity dans une appli, c’est comme un écran sur ton téléphone. Vois-la comme une page dans un livre. Quand tu ouvres une appli, un écran apparaît où tu peux faire quelque chose de précis, comme lire des actualités, envoyer un message ou regarder des photos. Chacun de ces écrans est une « activity ». Quand tu passes de la lecture des actualités à l’envoi d’un message, tu passes d’une activity à une autre. C’est la façon dont les applis organisent leurs différentes fonctions et informations, pour qu’elles soient faciles à parcourir et à utiliser.

Laisser un commentaire