Académique Documents
Professionnel Documents
Culture Documents
terminaux mobiles
3.1. Activity
3.1.1 Principe
Une activité à un écran dédié à une action particulière, par exemple l’écriture d’un message
SMS, l’édition de paramètres de configuration, etc. Une application utilisateur est composée
d’au moins une activité. Les activités sont indépendantes les unes des autres, et elles ont la
possibilité de lancer d’autres activités pour cheminer dans l’application. Si une application est
composée de plusieurs activités, une de ces activités est marquée comme activité principale,
c’est elle qui sera lancée au départ lors de l’exécution de l’application.
Une activité possède plusieurs points d’entrée, appelés par le système en fonction des
changements d’état de l’application.
Pour créer une activité, nous utilisons l’assistant d’Eclipse (File > New... > Android
Activity) Une nouvelle classe héritant de android.app.Activity est créée. Nous devons au
moins implémenter une méthode, onCreate : c’est le point d’entrée, appelé au démarrage de
l’activité
3.2. Intents
Les objets de type Intent des messages (intentions) émis par des applications, à destination
des trois composants Activity Service et BroadcastReceiver C’est ce mécanisme qui est mis
en œuvre pour naviguer au sein d’une application, pour appeler d’autres applications ou pour
envoyer ou recevoir des messages système
Un objet Intent composé de plusieurs attributs qui permettent de véhiculer les informations
du message, notamment :
Les intents se classent en deux catégories, les intents explicites et intents implicites Les
intents explicites visent à acheminer des messages à l’intérieur application, notamment pour
passer d’une activité à l’autre. Elles nomment explicitement le nom du composant à appeler
(package, nom de classe) et lui passent éventuellement des informations à travers les attributs
Data et Extra.
Appel explicite d’une seconde activité dans l’application, avec données supplémentaires.
Les intents implicites envoient un message sans destinataire particulier. Les composants
utilisent un mécanismes de filtres (Intent Filters) pour recevoir les messages susceptibles de
les intéresser.
Comme nous l’avons vu, les Intents représentent des messages entre composants. Supposons
que nous ayons une première activité dans notre application, MainActivity, qui souhaite en
lancer une seconde, SecondActivity.
Cas 1 : A la fin de l’exécution de la seconde activité (menu Back), nous souhaitons envoyer
un résultat. Dans la première activité, nous initialisons un premier objet Intent, comme vu
précédemment. Puis nous démarrons la seconde activité à l’aide la méthode
startActivityForResult(Intent, code). Le code passé en argument est un simple entier
permettant d’identifier les différentes activités susceptibles d’être lancées.
Appel d’une seconde activité avec attente de retour
Cas 2 : A la fin de l’activité 2, nous n’avons pas besoin d’un retour. Dans la première activité,
nous initialisons un premier objet Intent, comme vu précédemment. Puis nous démarrons la
seconde activité à l’aide la méthode startActivity() :
Démarrage d’une activité sans attente de code de retour
3.3. En Résumé