Le modèle d'application Android peut être considéré comme orienté services, avec des activités en tant que composants et intentions que les messages envoyés entre eux. Ici, une intention est utilisée pour démarrer une activité qui affiche le journal des appels de l'utilisateur, mais les intentions peuvent être utilisées pour faire beaucoup de choses et nous les rencontrerons tout au long de ce livre.

 

Se préparer
Pour simplifier les choses, nous allons utiliser un objet d'intention pour démarrer l'une des applications intégrées d'Android plutôt que d'en créer une nouvelle. Cela ne nécessite qu'une application très basique, alors lancez un nouveau projet Android avec Android Studio et appelez-le ActivityStarter.

Comment faire...
Encore une fois, pour garder l'exemple simple afin que nous puissions nous concentrer sur la tâche à accomplir, nous allons créer une fonction pour montrer une intention en action et appeler cette fonction à partir d'un bouton sur notre activité.
Une fois votre nouveau projet créé dans Android Studio, procédez comme suit:
1. Ouvrez la classe MainActivity.java et ajoutez la fonction suivante:
public void launchIntent (Afficher la vue) {
Intention intention = nouvelle intention (Intent.ACTION_VIEW);
https://www.packtpub.com/")); ">intention.setData (Uri.parse ("https://www.packtpub.com/"));
startActivity (intention);
}
Pendant que vous tapez ce code, Android Studio affiche cet avertissement sur Affichage et intention: Impossible de résoudre le symbole "Intention".
Cela signifie que vous devez ajouter la référence de bibliothèque au projet. Vous pouvez le faire manuellement en entrant le code suivant dans la section d'importation:
import android.view.View; import android.content.Intent;
Alternativement, il suffit de cliquer sur les mots (dans la police rouge), appuyez sur Alt + Entrée, et laissez Android Studio ajouter la référence de la bibliothèque pour vous.
2. Ouvrez le fichier activity_main.xml et ajoutez le code XML suivant:
<Bouton
android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Lancer le navigateur"
HZ]
android: id = "@ + id / bouton"
android: layout_centerVertical = "vrai"
android: layout_centerHorizontal = "vrai"
android: onClick = "launchIntent" />
3. Maintenant, il est temps de lancer l'application et voir l'intention en action. Vous devrez soit créer un émulateur Android (dans Android Studio, allez dans Outils | Android | Gestionnaire AVD), soit connecter un périphérique physique à votre ordinateur.
4. Lorsque vous appuyez sur le bouton Lancer le navigateur, le navigateur Web par défaut s'ouvre avec l'URL spécifiée.

Comment ça marche...
Bien que simple, cette application démontre une grande partie de la puissance derrière le système d'exploitation Android. L'objet d'intention est juste un objet de message. Les intentions peuvent être utilisées pour communiquer à travers les composants de votre application (tels que les services et les récepteurs de diffusion) ainsi qu'avec d'autres applications sur l'appareil (comme nous l'avons fait dans cette recette).
Pour tester sur un périphérique physique, vous devrez peut-être installer des pilotes pour votre périphérique (les pilotes sont spécifiques au fabricant du matériel). Vous devrez également activer le mode développeur sur votre appareil. L'activation du mode développeur varie en fonction de la version du système d'exploitation Android. Si vous ne voyez pas l'option Mode développeur dans les paramètres de votre appareil, ouvrez l'option À propos du téléphone et commencez à taper Numéro de build. Après trois taps, vous devriez voir un message Toast vous indiquant que vous êtes sur le point d'être développeur. Quatre autres robinets permettront l'option.
Olh

 
Dans cette recette, nous avons créé un objet d'intention en spécifiant ACTION_VIEW comme ce que nous voulons faire (notre intention). Vous avez peut-être remarqué que lorsque vous avez tapé Intent et ensuite la période, Android Studio a fourni une liste de possibilités (il s'agit de la fonctionnalité de saisie semi-automatique), comme ceci:
ACTION_VIEW, avec une URL dans les données, indique que l'intention est d'afficher le site Web, de sorte que le navigateur par défaut est lancé (différentes données pourraient lancer des applications différentes). Dans cet exemple, notre intention est simplement d'afficher l'URL, donc nous appelons l'intention avec juste la méthode startActivity (). Il existe d'autres façons d'appeler l'intention en fonction de nos besoins. Dans le retour d'un résultat d'une recette d'activité, nous allons utiliser la méthode startActivityForResult ().

Il y a plus...
Il est très fréquent que les utilisateurs d'Android téléchargent leurs applications préférées pour la navigation sur le Web, la prise de photos, la messagerie texte, etc. Grâce aux intentions, vous pouvez laisser votre application utiliser les applications préférées de votre utilisateur au lieu d'essayer de réinventer toutes ces fonctionnalités.

Voir également
Pour démarrer une activité à partir d'une sélection de menu, reportez-vous à la recette des sélections du menu Traitement dans le chapitre 4, Menus.