SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

Applications Android - cours 12 : Persistance de données SQLite
Applications Android - cours 12 : Persistance de données SQLiteApplications Android - cours 12 : Persistance de données SQLite
Applications Android - cours 12 : Persistance de données SQLiteAhmed-Chawki Chaouche
 
Chp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications MobilesChp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications MobilesLilia Sfaxi
 
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 MobilesLilia Sfaxi
 
Les intents sous Android
Les intents sous Android Les intents sous Android
Les intents sous Android Houssem Lahiani
 
Big data: NoSQL comme solution
Big data: NoSQL comme solutionBig data: NoSQL comme solution
Big data: NoSQL comme solutionJEMLI Fathi
 
Applications Android - cours 3 : Android Studio (Outil de développement)
Applications Android - cours 3 : Android Studio (Outil de développement)Applications Android - cours 3 : Android Studio (Outil de développement)
Applications Android - cours 3 : Android Studio (Outil de développement)Ahmed-Chawki Chaouche
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intentsLilia Sfaxi
 
BigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingBigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingLilia Sfaxi
 
Android-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intentsAndroid-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intentsLilia Sfaxi
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceLilia 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 - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrageLilia Sfaxi
 
Développement Android
Développement AndroidDéveloppement Android
Développement AndroidFranck SIMON
 
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
 

La actualidad más candente (20)

Programmation sous Android
Programmation sous AndroidProgrammation sous Android
Programmation sous Android
 
Applications Android - cours 12 : Persistance de données SQLite
Applications Android - cours 12 : Persistance de données SQLiteApplications Android - cours 12 : Persistance de données SQLite
Applications Android - cours 12 : Persistance de données SQLite
 
Chp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications MobilesChp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications Mobiles
 
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
 
Les intents sous Android
Les intents sous Android Les intents sous Android
Les intents sous Android
 
Big data: NoSQL comme solution
Big data: NoSQL comme solutionBig data: NoSQL comme solution
Big data: NoSQL comme solution
 
Applications Android - cours 3 : Android Studio (Outil de développement)
Applications Android - cours 3 : Android Studio (Outil de développement)Applications Android - cours 3 : Android Studio (Outil de développement)
Applications Android - cours 3 : Android Studio (Outil de développement)
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intents
 
BigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingBigData_Chp3: Data Processing
BigData_Chp3: Data Processing
 
Android-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intentsAndroid-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intents
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
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 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
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrage
 
Développement Android
Développement AndroidDéveloppement Android
Développement Android
 
Support cours angular
Support cours angularSupport cours angular
Support cours angular
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring boot
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPEL
 
Polymorphisme (cours, résumé)
Polymorphisme (cours, résumé)Polymorphisme (cours, résumé)
Polymorphisme (cours, résumé)
 
Chp2 - SOA
Chp2 - SOAChp2 - SOA
Chp2 - SOA
 

Similar a P4 intents (15)

My droid
My droidMy droid
My droid
 
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
 
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
 
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
 

Más 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 - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Lilia 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
 
Android - Tp 5 - stockage de données
Android - Tp 5 -  stockage de donnéesAndroid - Tp 5 -  stockage de données
Android - Tp 5 - stockage de donnéesLilia Sfaxi
 

Más 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 - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques
 
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
 
Android - Tp 5 - stockage de données
Android - Tp 5 -  stockage de donnéesAndroid - Tp 5 -  stockage de données
Android - Tp 5 - stockage de données
 
Lab3-Android
Lab3-AndroidLab3-Android
Lab3-Android
 

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