Activités et navigation

Objectif : Comprendre le cycle de vie d'une activité, naviguer entre activités et passer des données.

Activités et navigation

Qu'est-ce qu'une activité ?

  • Une activité est un écran de l'application.
  • Chaque activité contrôle une interface utilisateur.
  • Le point d'entrée d'une application est souvent MainActivity.
  • Les activités doivent être déclarées dans le fichier AndroidManifest.xml.
Activités et navigation

Cycle de vie d'une activité

  • Principales méthodes :
    • onCreate() : initialisation
    • onStart() : l'activité devient visible
    • onResume() : l'activité est interactive
    • onPause() : perte de focus
    • onStop() : l'activité n'est plus visible
    • onDestroy() : destruction
Activités et navigation

Observer le cycle de vie

override fun onStart() {
    super.onStart()
    Log.d("CycleDeVie", "onStart appelé")
}
  • Utilisez Logcat pour suivre les étapes du cycle de vie.
  • Pratique utile pour le débogage et la gestion des ressources.
Activités et navigation

Diagramme du cycle de vie d'une activité

center

Activités et navigation

Navigation entre activités

Intent explicite

val intent = Intent(this, SecondActivity::class.java)
startActivity(intent)
  • Démarre une nouvelle activité.
  • SecondActivity doit être déclarée dans le manifest.
Activités et navigation

Passer des données

Envoi :

val intent = Intent(this, SecondActivity::class.java)
intent.putExtra("nom", "Sarah")
startActivity(intent)

Réception :

val nom = intent.getStringExtra("nom")
  • Bonne pratique : définir des constantes pour les clés.
Activités et navigation

ActivityResultLauncher

Déclaration :

val launcher = registerForActivityResult(
    ActivityResultContracts.StartActivityForResult()
) { result ->
    if (result.resultCode == RESULT_OK) {
        val data = result.data?.getStringExtra("message")
    }
}

Lancement :

val intent = Intent(this, SecondActivity::class.java)
launcher.launch(intent)
Activités et navigation

Récapitulatif

  • Une activité = un écran.
  • Le cycle de vie permet de gérer l'état de l'application.
  • Les Intent permettent la navigation et la transmission de données.
  • ActivityResultLauncher est la méthode moderne pour recevoir un résultat.
Activités et navigation

Ressources utiles

Activités et navigation