3. Intent : Mécanisme de communication entre les composants
Intent’est l’un des mécanismes clés du développement d’applications Android. Ce composant est utilisé pour démarrer un Activity, un Service ou envoyer des Broadcast. De plus, Intent permet également la communication entre les composants d’une même application ou même entre différentes applications.
Intent peuvent être différenciés en :
- Explicite : Appelle un composant spécifique (tel que Activity ou Service) en mentionnant directement son nom de classe.
- Implicite : spécifiez l’action que vous souhaitez effectuer ou le type de données que vous souhaitez traiter, et le système Android sélectionnera le composant le plus approprié.
Types d’intention
1. Explicit Intent
Explicit Intent est utilisé lorsque vous savez clairement quel composant vous souhaitez appeler, tel qu’un Activity ou un Service spécifique dans votre application.
Comment ça marche :
Vous spécifiez le nom de la classe de composant à laquelle vous souhaitez accéder. Par exemple, le démarrage d’une nouvelle Activity pour afficher les détails du produit.
Intent intent new Intent(this, ProductDetailActivity.class) ;
startActivity(intent) ;
Exemple d’utilisation :
- Démarrez une nouvelle Activity pour afficher le formulaire de connexion.
- Démarrez Service pour télécharger des fichiers en arrière-plan.
2.Intent Implicit
Intent Implicit est utilisé lorsque vous souhaitez demander au système Android de sélectionner le composant le plus approprié en fonction des actions ou des types de données que vous spécifiez.
Comment ça marche :
Vous spécifiez les actions (telles que ACTION_VIEW) et les données (telles que les URI ou les types MIME) que vous souhaitez traiter. Le système Android recherchera un composant capable de gérer la demande.
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(“https ://www.example.com”)) ;
startActivity(intent) ;
Exemple d’utilisation :
- Ouvrez l’URL dans le navigateur par défaut de l’utilisateur.
- Partagez du texte ou des images avec d’autres applications (telles que les réseaux sociaux ou les e-mails).
- Sélectionnez l’application pour ouvrir le fichier PDF.
La différence entre l’intention explicite et l’intention implicite
Aspects | Explicit Intent | Implicit Intent |
But | Appelle des composants spécifiques dans l’application. | Demander au système de sélectionner le composant approprié. |
Utiliser | Utilisé pour la navigation interne de l’application. | Utilisé pour interagir avec d’autres applications ou composants du système. |
Exemple | Démarrez l’activité Détails du produit. | Ouvrez l’URL dans un navigateur ou partagez du contenu. |
Exemples d’utilisation de l’intention dans les applications
1. Applications de commerce électronique :
- Explicit Intent : Démarre Activity détails du produit lorsque l’utilisateur clique sur un élément de la liste de produits.
- Implicit Intent : Partagez les détails du produit sur les applications de médias sociaux ou par e-mail.
2. Applications de médias sociaux :
- Explicit Intent : Démarre un Activity de commentaire lorsque l’utilisateur clique sur le bouton « Afficher les commentaires ».
- Implicit Intent : Ouvre un lien externe dans le navigateur par défaut de l’utilisateur.
3. Applications musicales :
- Explicit Intent : Démarre Service pour jouer une chanson en arrière-plan.
- Implicit Intent : Partagez des chansons avec d’autres applications comme WhatsApp ou Instagram.
4. Broadcast Receiver : Répondre aux modifications du système
Broadcast Receiver est un composant essentiel d’une application Android qui permet à votre application de répondre aux Broadcast Intent envoyés par le système Android ou d’autres applications. Broadcast Intent est un message système qui vous informe d’un changement d’état ou d’un événement spécifique, tel qu’un changement d’état de la batterie, de connectivité réseau ou d’un message SMS entrant.
En utilisant Broadcast Receiver, vous pouvez créer des applications plus réactives aux modifications de l’environnement ou du système, offrant ainsi une meilleure expérience utilisateur.