Fondamentaux du développement Android
Comprendre l’architecture des applications Android
L’architecture des applications Android repose sur quatre composants fondamentaux qui définissent leur structure et leur fonctionnement : les activités (activities), les services, les broadcast receivers et les content providers. Chacun joue un rôle précis et interagit avec le système Android.
1. Les activités (activities)
Les activités sont les éléments clés de l’interface utilisateur d’une application Android. Chaque activité correspond à un écran avec lequel l’utilisateur peut interagir. Elles servent de point d’entrée principal de l’application et sont responsables de l’affichage et de la gestion des interactions avec les éléments visuels.
Le cycle de vie d’une activité est géré par le système Android et comprend plusieurs étapes comme la création (onCreate), le démarrage (onStart), la reprise (onResume), la pause (onPause), l’arrêt (onStop) et la destruction (onDestroy). Bien gérer ce cycle permet d’éviter les fuites de mémoire et de préserver l’état de l’écran lors des changements de configuration.
Une application Android peut ainsi s’appuyer sur plusieurs activités, chacune représentant un écran...
Composants clés : activités, fragments, intents
Côté interface utilisateur et navigation, trois éléments sont à connaître : les activités (activities), les fragments et les intents.
1. Les activités (activities)
Pour rappel, une activité correspond à un écran de l’application. Une application peut en contenir plusieurs, chacune responsable d’une partie du parcours utilisateur.
Les activités interagissent avec l’utilisateur en affichant des éléments graphiques (boutons, champs de texte, images, etc.) et en réagissant à ses actions (clics, saisies, etc.). Elles sont également gérées par un cycle de vie spécifique qui permet d’optimiser leur exécution en fonction de l’état de l’application.
L’organisation des activités et la gestion de leur état permettent d’éviter les pertes de données lors des changements de configuration, comme la rotation de l’écran ou le passage en arrière-plan.
2. Les fragments (fragments)
Un fragment est un sous-composant d’une activité qui permet de diviser l’interface utilisateur en plusieurs sections modulables. Contrairement aux activités, les fragments ne fonctionnent pas de manière indépendante : ils doivent être attachés à...
Maîtriser le cycle de vie des activités et fragments
Le cycle de vie (ou lifecycle) des activités et des fragments est un concept central en développement Android. Le maîtriser permet de gérer correctement les ressources, de préserver les données entre les changements d’état et d’éviter les fuites de mémoire.
Les différentes étapes du cycle de vie se produisent automatiquement en fonction des actions de l’utilisateur (comme l’ouverture, la mise en pause ou la fermeture de l’application) et des événements du système (comme les changements de configuration ou la gestion de la mémoire). Cependant, vous devez intervenir à ces étapes pour gérer correctement les états de votre application.
1. Utilisation du cycle de vie des activités
Chaque activité en Android possède un cycle de vie avec plusieurs méthodes que vous pouvez surcharger pour personnaliser le comportement de l’activité à chaque étape. Voici quelques-unes des méthodes de cycle de vie les plus courantes et comment elles sont utilisées.
a. onCreate()
La méthode onCreate() est appelée lorsque l’activité est créée. Elle est utilisée pour initialiser les composants de l’activité, tels que la configuration des vues (UI), la liaison des données et le chargement des ressources. C’est à cet endroit que vous devez généralement effectuer des initialisations cruciales qui doivent être faites une seule fois, comme la récupération des données de l’interface ou la configuration de bibliothèques tierces.
Exemple d’utilisation :
-
initialisation de l’interface utilisateur avec setContentView() ;
-
récupérer des données à partir d’une base de données ou d’une API.
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Initialisation de l'UI
// Charger des données
}
b. onStart()
La méthode onStart() est appelée juste avant que l’activité ne devienne visible à...