Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
244 L’art du développement Android
Dans l’absolu, Android ne se consacre qu’aux intentions et à leurs récepteurs. Maintenant que nous avons vu comment créer des activités, plongeons-nous dans les intentions
afin de pouvoir créer des applications plus complexes tout en étant de "bons citoyens
d’Android".
Quelle est votre intention ?
Lorsque sir Tim Berners-Lee a conçu le protocole de transfert hypertexte, HTTP, il a défini un
ensemble de verbes et d’adresses sous la forme d’URL. Une adresse désigne une ressource :
une page web, une image ou un programme qui s’exécute sur un serveur, par exemple. Un
verbe précise l’action qui doit s’appliquer à cette adresse : GET pour la récupérer, POST
pour lui envoyer des données de formulaire afin qu’elle les traite, etc.
Les intentions sont similaires car elles représentent une action et un contexte. Bien
qu’elles permettent de définir plus d’actions et de composants de contexte qu’il n’y a de
verbes et de ressources HTTP, le concept est le même.
Tout comme un navigateur web sait comment traiter une paire verbe + URL, Android sait
comment trouver les activités ou les autres applications qui sauront gérer une intention
donnée.
Composantes des intentions
Les deux parties les plus importantes d’une intention sont l’action et ce qu’Android
appelle les "données". Elles sont quasiment analogues aux verbes et aux URL de HTTP –
l’action est le verbe et les "données" sont une Uri comme content://contacts/people/1,
représentant un contact dans la base de données des contacts. Les actions sont des constantes, comme ACTION_VIEW (pour afficher la ressource), ACTION_EDIT (pour l’éditer) ou
ACTION_PICK (pour choisir un élément disponible dans une Uri représentant une collection,
comme content://contacts/people).
Si vous créez une intention combinant ACTION_VIEW avec l’Uri content://contacts/
people/1 et que vous la passiez à Android, ce dernier saura comment trouver et ouvrir une
activité capable d’afficher cette ressource.
Outre l’action et l’Uri des "données", vous pouvez placer d’autres critères dans une intention
(qui est représentée par un objet Intent) :
● Une catégorie. Votre activité "principale" appartient à la catégorie LAUNCHER, pour
indiquer qu’elle apparaît dans le menu du lanceur. Les autres activités appartiendront
probablement aux catégories DEFAULT ou ALTERNATIVE.
● Un type MIME indiquant le type de ressource sur laquelle vous voulez travailler si
vous ne connaissez pas une Uri collection.
Livre Android.book Page 244 Dimanche, 8. novembre 2009 12:23 12
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
244 L’art du développement Android
Dans l’absolu, Android ne se consacre qu’aux intentions et à leurs récepteurs. Maintenant que nous avons vu comment créer des activités, plongeons-nous dans les intentions
afin de pouvoir créer des applications plus complexes tout en étant de "bons citoyens
d’Android".
Quelle est votre intention ?
Lorsque sir Tim Berners-Lee a conçu le protocole de transfert hypertexte, HTTP, il a défini un
ensemble de verbes et d’adresses sous la forme d’URL. Une adresse désigne une ressource :
une page web, une image ou un programme qui s’exécute sur un serveur, par exemple. Un
verbe précise l’action qui doit s’appliquer à cette adresse : GET pour la récupérer, POST
pour lui envoyer des données de formulaire afin qu’elle les traite, etc.
Les intentions sont similaires car elles représentent une action et un contexte. Bien
qu’elles permettent de définir plus d’actions et de composants de contexte qu’il n’y a de
verbes et de ressources HTTP, le concept est le même.
Tout comme un navigateur web sait comment traiter une paire verbe + URL, Android sait
comment trouver les activités ou les autres applications qui sauront gérer une intention
donnée.
Composantes des intentions
Les deux parties les plus importantes d’une intention sont l’action et ce qu’Android
appelle les "données". Elles sont quasiment analogues aux verbes et aux URL de HTTP –
l’action est le verbe et les "données" sont une Uri comme content://contacts/people/1,
représentant un contact dans la base de données des contacts. Les actions sont des constantes, comme ACTION_VIEW (pour afficher la ressource), ACTION_EDIT (pour l’éditer) ou
ACTION_PICK (pour choisir un élément disponible dans une Uri représentant une collection,
comme content://contacts/people).
Si vous créez une intention combinant ACTION_VIEW avec l’Uri content://contacts/
people/1 et que vous la passiez à Android, ce dernier saura comment trouver et ouvrir une
activité capable d’afficher cette ressource.
Outre l’action et l’Uri des "données", vous pouvez placer d’autres critères dans une intention
(qui est représentée par un objet Intent) :
● Une catégorie. Votre activité "principale" appartient à la catégorie LAUNCHER, pour
indiquer qu’elle apparaît dans le menu du lanceur. Les autres activités appartiendront
probablement aux catégories DEFAULT ou ALTERNATIVE.
● Un type MIME indiquant le type de ressource sur laquelle vous voulez travailler si
vous ne connaissez pas une Uri collection.
Livre Android.book Page 244 Dimanche, 8. novembre 2009 12:23 12
