Chapitre 3
Chapitre 3
Chapitre 3
Notion d’activité
A.Hammache 1
Plan du Chapitre
Définitions
A.Hammache 2
Les composants d’une App Android
Activities Services
1. Offre Une Interface utilisateur 1. Pas d’Interface
2. Généralement représente Un
seul écran 2. S’excute en Arrière Plan
Etend la classe Service
A un cycle de vie 3.
3.
A.Hammache 4
Etats d’une Activité
Arrivée d’un Appel
Appel
Fin de l’ Appel
A.Hammache 5
Première activité
L’activité étend la classe Activity (android.app.Activity)
L’activité implémente la méthode
OnCreate() :
- Initialise
- SetContentView()
import android.app.Activity;
import android.os.Bundle;
A.Hammache 7
Cycle de vie d’une Activité
OnCreate()
Applée lors de la création
de l’activité.
Doit contenir les
opérations
d’initialisation.
A un paramètre de type
Bundle (état).
Si elle se termine avec
succés, alors la méthode
onStart() est appelée.
A.Hammache 8
Cycle de vie d’une Activité
OnStart()
Applée lors de la fin de
onCreate().
Appelée juste avant que
l’activité soit visible à
l’utilisateur.
Si l’activité a le focus alors
onResume() est appelée.
Sinon onStop() est
appelée.
A.Hammache 9
Cycle de vie d’une Activité
OnResume()
Appelée lorsque l’activité est
prête à recevoir des entrées
de la part de l’utilisateur.
(Ré-)initialisation des
ressources : GPS, etc..
Si elle se termine
normalement alors l’activité
est en exécution.
A.Hammache 10
Cycle de vie d’une Activité
OnPause()
Appelée lors qu’une autre
activité passe au premier plan
(boite de dialogue).
Arrêter les animations et les
tâches de fonds.
Arrêter la consommation de
la CPU.
Libération des ressources (
GPS, Caméra, etc.).
L’exécution de cette
méthode doit être rapide.
A.Hammache 11
Cycle de vie d’une Activité
OnStop()
L’activité n’est plus visible
pour l’utilisateur.
Peut être appelée lorsque :
Une autre activité vient
au premier plan (appel).
L’activité est à détruire.
L’utilisateur lance une
autre activité de
l’application.
A.Hammache 12
Cycle de vie d’une Activité
OnRestart()
Similaire à onCreate().
On a une activité qui a été
arretée précédemment.
A.Hammache 13
Cycle de vie d’une Activité
OnDestroy()
L’activité est à détruire.
Peut être appelée lorsque :
Le système a besoin
d’espace mémoire.
L’utilisateur tape sur le
bouton retour.
Si on fait appel à la
méthode finish().
A.Hammache 14
Cycle de vie d’une Activité
onDestroy
onCreate onStart onResume onStop
onPause
Interaction
Avec
l’utilisateur
Partie Visible
A.Hammache 15
Exemple de Cycle de vie d’une Activité
import android.app.Activity; public void onResume()
import android.os.Bundle; {
super.onResume();
import android.util.Log; Log.d(tag, “Dans la méthode onResume()”);
public class ExempleActivite extends Activity { }
}
Sauvegarde de l’état (persistance)
A.Hammache 17
Sauvegarde de l’état (persistance)
• Bundle est un tableau associatif Clé/Valeur typé, il offre :
Des méthodes pour stocker les données : putBoolean (String
key, boolean value), putInt, putParceable, putSerializable, etc.
Des méthodes pour récupérer les données : getBoolean
(String key), getInt, getParceable, getSerializable, etc.
A.Hammache 18
Sauvegarde de l’état (persistance)
La classe Activity offre deux méthodes pour sauvegarder et récupérer l’état
(données) :
onSaveInstanceState (Bundle monBundle)
onRestoreInstanceState (Bundle monBundle)
A.Hammache 19
Exemple
@Override
protected void onSaveInstanceState (Bundle outState) {
outState.putInt(Etat_SCORE, ScoreCourant );
super.onSaveInstanceState(outState);
} Sauvegarder
@Override
protected void onRestoreInstanceState(Bundle
savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
ScoreCourant = savedInstanceState.getInt(Etat_SCORE);
}
Récupérer
A.Hammache 20
L’activité dans le manifest
La dernière étape pour rendre l’activité visible par le système Android,
consite à la déclarer dans le fichier manifest :
<activity android:name=".ExempleActivite"
android:label="@string/app_name">
<intent-filter>
<action
android:name="android.intent.action.MAIN"/>
<category
android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
A.Hammache 21