Activités et cycle de vie
Découvrez ce qu’est une Activity, comprenez les rappels du cycle de vie d’une Activity (onCreate, onStart, onResume, onPause, onStop, onDestroy) et utilisez ViewBinding.
Activités et cycle de vie est une leçon Android Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 7. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Android Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Android Academy comprend 7 leçons au total.
Qu'est-ce qu'une activité ?
Une activité est un écran unique de votre application Android.
- Chaque écran (connexion, accueil, paramètres) est une activité
- Elle gère une mise en page (XML) et les interactions de l'utilisateur
- Elle est déclarée dans AndroidManifest.xml
Considérez-la comme l'équivalent Android d'une page Web : chaque page est une activité.
Cycle de vie d'une activité
Une activité traverse une série d'états du cycle de vie lorsque l'utilisateur navigue dans l'application :
- Créée → Démarrée → Reprise (visible et active)
- En pause (partiellement masquée)
- Arrêtée (complètement masquée)
- Détruite (l'activité n'existe plus)
Vous redéfinissez les méthodes du cycle de vie pour réagir à ces transitions.
Rappels du cycle de vie
Les six principaux rappels du cycle de vie :
onCreate()— l'activité est en cours de création. Configurez votre mise en page ici.onStart()— l'activité devient visible.onResume()— l'activité est au premier plan et l'utilisateur peut interagir.onPause()— l'utilisateur quitte l'activité. Enregistrez les données temporaires.onStop()— l'activité n'est plus visible.onDestroy()— l'activité est en cours de destruction.
Exemple avec MainActivity
Une activité minimale avec journalisation du cycle de vie :
import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
private val TAG = "MainActivity"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
Log.d(TAG, "onCreate")
}
override fun onResume() {
super.onResume()
Log.d(TAG, "onResume — user is here")
}
override fun onPause() {
super.onPause()
Log.d(TAG, "onPause — saving state")
}
override fun onDestroy() {
super.onDestroy()
Log.d(TAG, "onDestroy")
}
}Pourquoi le cycle de vie est important
Erreurs courantes dues au non-respect du cycle de vie :
- Lire une vidéo dans
onResumesans oublier de la mettre en pause dansonPause— la batterie se décharge - Enregistrer un écouteur de capteur dans
onCreatesans le désenregistrer dansonDestroy— fuite de mémoire - Ne pas enregistrer les données d'un formulaire dans
onPause— l'utilisateur perd sa progression lors d'un appel téléphonique
Enregistrer l'état : onSaveInstanceState
Lorsque l'utilisateur fait pivoter le téléphone, l'activité est détruite puis recréée. L'état de votre interface utilisateur est perdu.
Enregistrez l'état temporaire dans onSaveInstanceState(bundle) et restaurez-le dans onCreate(savedInstanceState).
Enregistrer et restaurer l'état
Conservez les données lors des changements de configuration :
class CounterActivity : AppCompatActivity() {
private var count = 0
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_counter)
// Restore saved state after rotation
count = savedInstanceState?.getInt("count") ?: 0
}
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
outState.putInt("count", count)
}
}Pile de retour
Android gère une pile de retour contenant les activités :
- Le lancement d'une nouvelle activité l'ajoute au sommet de la pile
- La pression sur Retour retire l'activité supérieure de la pile et la détruit
- L'activité précédente reprend automatiquement
C'est pourquoi vous ne devez pas appeler finish() manuellement, sauf si vous souhaitez spécifiquement retirer l'écran actuel de la pile de retour.
Changements de configuration
Tout changement de configuration (rotation, changement de langue, clavier connecté) recrée l'activité par défaut.
La solution moderne consiste à utiliser un ViewModel — il survit aux changements de configuration et conserve vos données en toute sécurité. Vous découvrirez ViewModel dans le module consacré à l'architecture.
Vérification rapide
Dans quelle méthode du cycle de vie devez-vous configurer la mise en page (appeler setContentView) ?
Récapitulatif : activités et cycle de vie
Vous comprenez désormais les activités Android :
- Une activité = un écran de votre application
- Cycle de vie : onCreate → onStart → onResume → onPause → onStop → onDestroy
- Enregistrez l'état temporaire dans
onSaveInstanceState - La rotation détruit puis recrée l'activité
- Android gère automatiquement une pile de retour
Ensuite : concevoir des écrans avec des mises en page et des vues.
Questions Fréquemment Posées
La leçon « Activités et cycle de vie » est-elle gratuite ?
Oui — le texte complet de « Activités et cycle de vie » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Android Academy, passe à CoddyKit PRO. Le cours Android Academy comprend 7 leçons au total.
Qu'est-ce que j'apprendrai dans « Activités et cycle de vie » ?
Découvrez ce qu’est une Activity, comprenez les rappels du cycle de vie d’une Activity (onCreate, onStart, onResume, onPause, onStop, onDestroy) et utilisez ViewBinding. Tu pratiques Android Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Android Academy ?
Aucune expérience préalable n'est requise. Android Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 7.
Combien de temps prend la leçon « Activités et cycle de vie » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Android Academy ?
Oui. Chaque leçon Android Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Structure du projet et manifeste
- Activités et cycle de vie
- Mises en page et vues
- Gestion des saisies utilisateur
- Intentions et navigation
- Fragments
- Autorisations et demandes à l’exécution