SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
Intents
Utilisation, Exemples…
Formation Mobile
27 Aout au 1 Septembre 2015
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 1
Définition et Utilisations
•  Une application Android peut contenir plusieurs activités :
•  Une activité utilise la méthode setContentView pour s’associer
avec une interface graphique
•  Les activités sont indépendantes les unes des autres,
cependant, elles peuvent collaborer pour échanger des données
et des actions
•  Typiquement, l’une des activités est désignée comme étant la
première à être présentée à l’utilisateur quand l’application est
lancée : on l’appelle l’activité de démarrage
•  Les activités interagissent en mode asynchrone.
•  Le passage d’une activité à une autre est réalisé en demandant à
l’activité en cours d’exécuter un Intent.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 2
Intents
Définition et Utilisations
•  Un intent est un message qui peut être utilisé pour demander une
action à partir d’un autre composant de l’application
•  Un Intent permet invoquer des Activités, des Broadcast Receivers ou
des Services. Les différentes méthodes utilisées pour appeler ces
composantes sont les suivantes :
•  startActivity(intent) : lance une activité
•  sendBroadcast(intent) : envoie un intent à tous les composants Broadcast
Receivers intéressés
•  startService(intent) ou bindService(intent, …) : communiquent avec un
service en arrière plan.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 3
Intent
Construction d’un Intent
•  Un intent comporte des informations que le système Android utilise
•  Nom du composant à démarrer
•  Action à réaliser
•  ACTION-VIEW, ACTION_SEND…
•  Donnée
•  URI référençant la donnée sur laquelle l’action va agir
•  Catégorie
•  Information supplémentaire sur le type de composants qui va gérer l’intent
•  CATEGORY-BROWSABLE, CATEGORY-LAUNCHER…
•  Extras
•  Paires clef-valeur qui comportent des informations additionnelles pour réaliser
l’action demandée
•  Drapeaux (Flags)
•  Définissent la classe qui fonctionne comme métadonnée pour cet intent
•  Peuvent indiquer comment lancer une activité, comment la traiter une fois
lancée
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 4
Intent
Types d’Intent
•  Il existe deux types d’Intents
•  Intents Explicites:
•  Spécifient le composant à démarrer par nom (nom complet de la classe)
•  Permettent de démarrer un composant de votre propre application, car le
nom de la classe est connu
•  Exemple: démarrer une activité en réponse à l’action d’un utilisateur
•  Intents Implicites
•  Ne nomment pas un composant spécifique, mais déclarent une action à
réaliser
•  Permet à un composant d’une application d’appeler un composant d’une
autre application
•  Exemple: montrer à l’utilisateur un emplacement sur une Map
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 5
Intent
INTENTS IMPLICITES
Intents
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 6
Arguments et Utilisation
•  Les principaux arguments d’un Intent implicite sont :
•  Action : l’action à réaliser, peut être prédéfinie (ACTION_VIEW, ACTION_EDIT,
ACTION_MAIN…) ou créée par l’utilisateur.
•  Donnée : Les données principales sur lesquelles on va agir, tel que le
numéro de téléphone à appeler.
•  Il est typiquement appelé comme suit:
Intent myActivityIntent = new Intent (<action>, <donnee>) ;
startActivity (myActivityIntent) ;
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 7
Intents Implicites
Activité – 1 Activité – 2
Intent {action+ donnée}
Résultats (optionnels)
 
Comportement d’un Intent Implicite
•  Un intent implicite se comporte comme suit:
1.  Activité A crée un Intent avec une action et le passe en paramètre à
startActivity
2.  Le système Android cherchent toutes les applications pour trouver un
Intent Filter qui correspond à cet Intent
3.  Quand une correspondance est trouvée, le système démarrent l’activité
(Activity B) en invoquant sa méthode onCreate et en lui passant l’intent
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 8
Intents Implicites
IntentFilters
•  Un Intent Filter est une expression dans le fichier Manifest d’une
application qui spécifie le type d’intents que le composant veut recevoir
•  Permet aux autres activités de lancer directement votre activité en
utilisant un certain Intent
•  Si vous ne déclarez pas d’Intent Filters à votre activité, elle ne pourra
être déclenchée que par un Intent Explicite
•  Il est recommandé de ne pas déclarer d’Intent Filters pour les services,
car cela peut causer des problèmes de sécurité
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 9
Intents Implicites
Actions et Données Prédéfinies d’un Intent
Voici des exemples d’actions prédéfinies communément utilisées
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 10
Intents Implicites
Action' Donnée' Description'
ACTION_DIAL' tel:123( Affiche( le( numéroteur( téléphonique( avec( le( numéro(
(123)(rempli(
ACTION_VIEW' http://www.google.com( Affiche(la(page(Google(dans(un(navigateur.(
ACTION_EDIT' content://contacts/people/2( Edite( les( informations( sur( la( personne( dont(
l’identifiant(est(2((de(votre(carnet(d’adresse)(
ACTION_VIEW' content://contacts/people/2( Utilisé( pour( démarrer( une( activité( qui( affiche( les(
données(du(contact(numéro(2(
ACTION_VIEW' content://contacts/people( Affiche( la( liste( des( contacts,( que( l’utilisateur( peut(
parcourir.( La( sélection( d’un( contact( permet( de(
visualiser(ses(détails(dans(un(nouvel(Intent.(
(
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 11
Intent Implicite
Eviter que l’application crash si l’activité
appelée n’existe pas
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 12
Intent Implicite
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 13
Intent Implicite: Plusieurs Activités Possibles
INTENTS EXPLICITES
Intents
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 14
Arguments et Utilisation
•  Les principaux arguments d’un Intent explicite sont :
•  Le contexte déclenchant l’Intent (en général this, si on le lance à partir de
l’activité de départ, ou bien <Activity_class_name>.this)
•  La classe destination (en général <Activity_class_name>.class)
•  Il est typiquement appelé comme suit:
Intent myActivityIntent = new Intent (StartClass.this, EndClass.class) ;
startActivity (myActivityIntent) ;
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 15
Intents Explicites
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 16
Intent Explicite
Démarrer une Activité avec Résultat
•  Il est possible d’établir un lien bidirectionnel entre deux activités
grâce à un Intent
•  Pour recevoir un résultat à partir d’une autre activité, appeler
startActivityForResult au lieu de StartActivity
•  L’activité destination doit bien sûr être conçue pour renvoyer un
résultat une fois l’opération réalisée
•  Le résultat est envoyé sous forme d’Intent
•  L’activité principale le recevra dans un onActivityResult
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 17
Intents Explicites
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 18
Intent avec Résultat
Activité 1
Activité 2
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 19
Intent avec Résultat

Mais conteúdo relacionado

Mais procurados

softCours design pattern m youssfi partie 9 creation des objets abstract fact...
softCours design pattern m youssfi partie 9 creation des objets abstract fact...softCours design pattern m youssfi partie 9 creation des objets abstract fact...
softCours design pattern m youssfi partie 9 creation des objets abstract fact...ENSET, Université Hassan II Casablanca
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceLilia Sfaxi
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataLilia Sfaxi
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherLilia Sfaxi
 
Android-Tp5 : web services
Android-Tp5 : web servicesAndroid-Tp5 : web services
Android-Tp5 : web servicesLilia Sfaxi
 
Android-Tp3: fragments et menus
Android-Tp3: fragments et menusAndroid-Tp3: fragments et menus
Android-Tp3: fragments et menusLilia Sfaxi
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring bootAntoine Rey
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELLilia Sfaxi
 
Java 8 - collections et stream
Java 8 - collections et streamJava 8 - collections et stream
Java 8 - collections et streamFranck SIMON
 
Android-Tp2: liste et adaptateurs
Android-Tp2: liste et adaptateursAndroid-Tp2: liste et adaptateurs
Android-Tp2: liste et adaptateursLilia Sfaxi
 

Mais procurados (20)

softCours design pattern m youssfi partie 9 creation des objets abstract fact...
softCours design pattern m youssfi partie 9 creation des objets abstract fact...softCours design pattern m youssfi partie 9 creation des objets abstract fact...
softCours design pattern m youssfi partie 9 creation des objets abstract fact...
 
Programmation sous Android
Programmation sous AndroidProgrammation sous Android
Programmation sous Android
 
Polymorphisme, interface et classe abstraite
Polymorphisme, interface et classe abstraitePolymorphisme, interface et classe abstraite
Polymorphisme, interface et classe abstraite
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big Data
 
Cours design pattern m youssfi partie 3 decorateur
Cours design pattern m youssfi partie 3 decorateurCours design pattern m youssfi partie 3 decorateur
Cours design pattern m youssfi partie 3 decorateur
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all together
 
Cours design pattern m youssfi partie 5 adapter
Cours design pattern m youssfi partie 5 adapterCours design pattern m youssfi partie 5 adapter
Cours design pattern m youssfi partie 5 adapter
 
Android-Tp5 : web services
Android-Tp5 : web servicesAndroid-Tp5 : web services
Android-Tp5 : web services
 
Android-Tp3: fragments et menus
Android-Tp3: fragments et menusAndroid-Tp3: fragments et menus
Android-Tp3: fragments et menus
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring boot
 
Support distributed computing and caching avec hazelcast
Support distributed computing and caching avec hazelcastSupport distributed computing and caching avec hazelcast
Support distributed computing and caching avec hazelcast
 
Cours design pattern m youssfi partie 6 proxy
Cours design pattern m youssfi partie 6 proxyCours design pattern m youssfi partie 6 proxy
Cours design pattern m youssfi partie 6 proxy
 
Support POO Java Deuxième Partie
Support POO Java Deuxième PartieSupport POO Java Deuxième Partie
Support POO Java Deuxième Partie
 
Cours design pattern m youssfi partie 4 composite
Cours design pattern m youssfi partie 4 compositeCours design pattern m youssfi partie 4 composite
Cours design pattern m youssfi partie 4 composite
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPEL
 
Java 8 - collections et stream
Java 8 - collections et streamJava 8 - collections et stream
Java 8 - collections et stream
 
Android-Tp2: liste et adaptateurs
Android-Tp2: liste et adaptateursAndroid-Tp2: liste et adaptateurs
Android-Tp2: liste et adaptateurs
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Introduction à Symfony
Introduction à SymfonyIntroduction à Symfony
Introduction à Symfony
 

Semelhante a P4 intents (18)

My droid
My droidMy droid
My droid
 
Les intents sous Android
Les intents sous Android Les intents sous Android
Les intents sous Android
 
P6 composants avancés
P6 composants avancésP6 composants avancés
P6 composants avancés
 
Android: Les intents
Android: Les intentsAndroid: Les intents
Android: Les intents
 
Cours 1 Android
Cours 1 AndroidCours 1 Android
Cours 1 Android
 
Architecture android
Architecture androidArchitecture android
Architecture android
 
Mobile-Chp4 côté serveur
Mobile-Chp4 côté serveurMobile-Chp4 côté serveur
Mobile-Chp4 côté serveur
 
Formation iPhone ENSI by (Orange Tunisie)
Formation iPhone ENSI by (Orange Tunisie)Formation iPhone ENSI by (Orange Tunisie)
Formation iPhone ENSI by (Orange Tunisie)
 
Active directory
Active directoryActive directory
Active directory
 
Les Activités.pdf
Les Activités.pdfLes Activités.pdf
Les Activités.pdf
 
Android
AndroidAndroid
Android
 
Android-Tp4: stockage
Android-Tp4: stockageAndroid-Tp4: stockage
Android-Tp4: stockage
 
Chapitre 5 android
Chapitre 5 androidChapitre 5 android
Chapitre 5 android
 
OCTO - Sécurité android
OCTO - Sécurité androidOCTO - Sécurité android
OCTO - Sécurité android
 
TP_1.pdf
TP_1.pdfTP_1.pdf
TP_1.pdf
 
Chp2 - Conception UX-UI des Applications Mobiles
Chp2 - Conception UX-UI des Applications MobilesChp2 - Conception UX-UI des Applications Mobiles
Chp2 - Conception UX-UI des Applications Mobiles
 
Projet de fin d étude (1)
Projet de fin d étude (1)Projet de fin d étude (1)
Projet de fin d étude (1)
 
cours.pdf
cours.pdfcours.pdf
cours.pdf
 

Mais de Lilia Sfaxi

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfLilia Sfaxi
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfLilia Sfaxi
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-CassandraLilia Sfaxi
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-CorrectionLilia Sfaxi
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-CorrectionLilia Sfaxi
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-CorrectionLilia Sfaxi
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-SéquencesLilia Sfaxi
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-CorrectionLilia Sfaxi
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - CorrectionLilia Sfaxi
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correctionLilia Sfaxi
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrageLilia Sfaxi
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Lilia Sfaxi
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intentsLilia Sfaxi
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web servicesLilia Sfaxi
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésLilia Sfaxi
 

Mais de Lilia Sfaxi (20)

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdf
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdf
 
Lab3-DB_Neo4j
Lab3-DB_Neo4jLab3-DB_Neo4j
Lab3-DB_Neo4j
 
Lab2-DB-Mongodb
Lab2-DB-MongodbLab2-DB-Mongodb
Lab2-DB-Mongodb
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-Cassandra
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-Correction
 
TD4-UML
TD4-UMLTD4-UML
TD4-UML
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-Séquences
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-Correction
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
TD1 - UML - DCU
TD1 - UML - DCUTD1 - UML - DCU
TD1 - UML - DCU
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrage
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intents
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web services
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancés
 

P4 intents

  • 1. Intents Utilisation, Exemples… Formation Mobile 27 Aout au 1 Septembre 2015 Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 1
  • 2. Définition et Utilisations •  Une application Android peut contenir plusieurs activités : •  Une activité utilise la méthode setContentView pour s’associer avec une interface graphique •  Les activités sont indépendantes les unes des autres, cependant, elles peuvent collaborer pour échanger des données et des actions •  Typiquement, l’une des activités est désignée comme étant la première à être présentée à l’utilisateur quand l’application est lancée : on l’appelle l’activité de démarrage •  Les activités interagissent en mode asynchrone. •  Le passage d’une activité à une autre est réalisé en demandant à l’activité en cours d’exécuter un Intent. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 2 Intents
  • 3. Définition et Utilisations •  Un intent est un message qui peut être utilisé pour demander une action à partir d’un autre composant de l’application •  Un Intent permet invoquer des Activités, des Broadcast Receivers ou des Services. Les différentes méthodes utilisées pour appeler ces composantes sont les suivantes : •  startActivity(intent) : lance une activité •  sendBroadcast(intent) : envoie un intent à tous les composants Broadcast Receivers intéressés •  startService(intent) ou bindService(intent, …) : communiquent avec un service en arrière plan. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 3 Intent
  • 4. Construction d’un Intent •  Un intent comporte des informations que le système Android utilise •  Nom du composant à démarrer •  Action à réaliser •  ACTION-VIEW, ACTION_SEND… •  Donnée •  URI référençant la donnée sur laquelle l’action va agir •  Catégorie •  Information supplémentaire sur le type de composants qui va gérer l’intent •  CATEGORY-BROWSABLE, CATEGORY-LAUNCHER… •  Extras •  Paires clef-valeur qui comportent des informations additionnelles pour réaliser l’action demandée •  Drapeaux (Flags) •  Définissent la classe qui fonctionne comme métadonnée pour cet intent •  Peuvent indiquer comment lancer une activité, comment la traiter une fois lancée Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 4 Intent
  • 5. Types d’Intent •  Il existe deux types d’Intents •  Intents Explicites: •  Spécifient le composant à démarrer par nom (nom complet de la classe) •  Permettent de démarrer un composant de votre propre application, car le nom de la classe est connu •  Exemple: démarrer une activité en réponse à l’action d’un utilisateur •  Intents Implicites •  Ne nomment pas un composant spécifique, mais déclarent une action à réaliser •  Permet à un composant d’une application d’appeler un composant d’une autre application •  Exemple: montrer à l’utilisateur un emplacement sur une Map Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 5 Intent
  • 6. INTENTS IMPLICITES Intents Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 6
  • 7. Arguments et Utilisation •  Les principaux arguments d’un Intent implicite sont : •  Action : l’action à réaliser, peut être prédéfinie (ACTION_VIEW, ACTION_EDIT, ACTION_MAIN…) ou créée par l’utilisateur. •  Donnée : Les données principales sur lesquelles on va agir, tel que le numéro de téléphone à appeler. •  Il est typiquement appelé comme suit: Intent myActivityIntent = new Intent (<action>, <donnee>) ; startActivity (myActivityIntent) ; Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 7 Intents Implicites Activité – 1 Activité – 2 Intent {action+ donnée} Résultats (optionnels)  
  • 8. Comportement d’un Intent Implicite •  Un intent implicite se comporte comme suit: 1.  Activité A crée un Intent avec une action et le passe en paramètre à startActivity 2.  Le système Android cherchent toutes les applications pour trouver un Intent Filter qui correspond à cet Intent 3.  Quand une correspondance est trouvée, le système démarrent l’activité (Activity B) en invoquant sa méthode onCreate et en lui passant l’intent Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 8 Intents Implicites
  • 9. IntentFilters •  Un Intent Filter est une expression dans le fichier Manifest d’une application qui spécifie le type d’intents que le composant veut recevoir •  Permet aux autres activités de lancer directement votre activité en utilisant un certain Intent •  Si vous ne déclarez pas d’Intent Filters à votre activité, elle ne pourra être déclenchée que par un Intent Explicite •  Il est recommandé de ne pas déclarer d’Intent Filters pour les services, car cela peut causer des problèmes de sécurité Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 9 Intents Implicites
  • 10. Actions et Données Prédéfinies d’un Intent Voici des exemples d’actions prédéfinies communément utilisées Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 10 Intents Implicites Action' Donnée' Description' ACTION_DIAL' tel:123( Affiche( le( numéroteur( téléphonique( avec( le( numéro( (123)(rempli( ACTION_VIEW' http://www.google.com( Affiche(la(page(Google(dans(un(navigateur.( ACTION_EDIT' content://contacts/people/2( Edite( les( informations( sur( la( personne( dont( l’identifiant(est(2((de(votre(carnet(d’adresse)( ACTION_VIEW' content://contacts/people/2( Utilisé( pour( démarrer( une( activité( qui( affiche( les( données(du(contact(numéro(2( ACTION_VIEW' content://contacts/people( Affiche( la( liste( des( contacts,( que( l’utilisateur( peut( parcourir.( La( sélection( d’un( contact( permet( de( visualiser(ses(détails(dans(un(nouvel(Intent.( (
  • 11. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 11 Intent Implicite Eviter que l’application crash si l’activité appelée n’existe pas
  • 13. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 13 Intent Implicite: Plusieurs Activités Possibles
  • 14. INTENTS EXPLICITES Intents Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 14
  • 15. Arguments et Utilisation •  Les principaux arguments d’un Intent explicite sont : •  Le contexte déclenchant l’Intent (en général this, si on le lance à partir de l’activité de départ, ou bien <Activity_class_name>.this) •  La classe destination (en général <Activity_class_name>.class) •  Il est typiquement appelé comme suit: Intent myActivityIntent = new Intent (StartClass.this, EndClass.class) ; startActivity (myActivityIntent) ; Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 15 Intents Explicites
  • 17. Démarrer une Activité avec Résultat •  Il est possible d’établir un lien bidirectionnel entre deux activités grâce à un Intent •  Pour recevoir un résultat à partir d’une autre activité, appeler startActivityForResult au lieu de StartActivity •  L’activité destination doit bien sûr être conçue pour renvoyer un résultat une fois l’opération réalisée •  Le résultat est envoyé sous forme d’Intent •  L’activité principale le recevra dans un onActivityResult Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 17 Intents Explicites
  • 18. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 18 Intent avec Résultat Activité 1 Activité 2