Qu'est ce qu'une Intention dans Android?

  • qu'est Ce qu'un Intention dans Android?
  • Quelqu'un peut-il élaborer avec un exemple?
  • Quels sont les types d'Intentions, et pourquoi nous les utilisons?
  • Pourquoi les intentions sont-elles si importantes dans Android?
317
demandé sur Dan Dascalescu 2011-07-05 08:48:16

19 réponses

Un Intention est une "intention" pour effectuer une action; en d'autres termes,

Un objet de messagerie que vous pouvez utiliser pour demander une action à un autre composant app

Une intention est essentiellement un message pour dire que vous avez fait ou que vous voulez que quelque chose se produise. Selon l'intention, les applications ou le système d'exploitation peuvent l'écouter et réagir en conséquence. Pensez-y comme un courriel souffle à un groupe d " amis, dans lequel vous dites à votre ami John de faire quelque chose, ou à des amis qui peut faire X ( "filtres d'intention" ), pour faire X. Les autres personnes ignoreront l'email, mais John (ou des amis qui peuvent faire X) réagiront à cela.

Pour écouter une intention de diffusion (comme la sonnerie du téléphone, ou un SMS est reçu), vous implémentez un récepteur de diffusion , qui sera passé l'intention. Pour déclarer que vous pouvez gérer l'intention d'une autre application comme "prendre une photo", vous déclarez un filtre d'intention dans le fichier manifeste de votre application .

Si vous voulez déclencher une intention de faire quelque chose, comme faire apparaître le composeur, vous déclenchez une intention en disant que vous le ferez.

454
répondu Chirag 2016-08-09 21:29:29

Qu'est-ce Qu'une intention ?

Un l'Intention est fondamentalement un message qui est passé entre composants (comme Activités, Services, Récepteurs de Radiodiffusion, et Fournisseurs de Contenu). Donc, il est presque équivalent aux paramètres passés aux appels D'API. Les différences fondamentales entre les appels D'API et l'appel de composants via intents sont:

  • les appels API sont synchrones alors que les appels basés sur l'intention être asynchrone.
  • les appels API sont liés à la compilation tandis que les appels basés sur au moment de l'exécution de liaison.

Bien sûr, les Intentions peuvent fonctionner exactement comme les appels d'API en utilisant ce qu'on appelle explicite les intentions, qui sera expliqué plus tard. Mais le plus souvent, implicite intentions sont la voie à suivre et c'est ce qui est expliqué ici.

Un composant qui veut en invoquer un autre doit seulement exprimer son intention de faire un emploi. Et tout autre composant qui existe et a affirmé qu'il peut faire un tel travail à travers intention-filtres, est invoqué par la plate-forme Android pour accomplir le travail. Cela signifie que ni les composants ne sont conscients de l'existence de l'autre, mais peuvent toujours travailler ensemble pour donner le résultat souhaité à l'utilisateur final.

Cette connexion invisible entre les composants est réalisée grâce à la combinaison des intentions, des filtres d'intention et de la plate-forme Android.

Cela conduit à d'énormes possibilités comme:

  • Mélanger et assortir ou plutôt plug et le jeu de composants à l'exécution.
  • remplacement des applications Android intégrées par des applications développées sur mesure application.
  • réutilisation au niveau des composants Dans et entre les applications.
  • orientation du Service au niveau le plus granulaire, si je puis dire.

Voici des détails techniques supplémentaires sur intentions de la documentation Android .

Une intention est un résumé description d'une opération à effectuer. Il peut être utilisé avec startActivity pour lancer un Activité, broadcastIntent pour l'envoyer à toutes les personnes intéressées BroadcastReceiver composants, et startService(Intent) ou bindService(But, ServiceConnection, int) pour communiquer avec un Service d'arrière-plan.

Une intention fournit une fonctionnalité pour effectuer une liaison d'exécution tardive entre le code dans différentes applications. Son utilisation la plus importante est dans le lancement d'activités, où il peut être considéré comme la colle entre les activités. Il s'agit essentiellement d'une structure de données passive contenant une description abstraite d'une action à effectuer. Les principaux éléments d'information dans une intention sont:

  • action L'action générale à effectuer, telle que ACTION_VIEW, ACTION_EDIT, ACTION_MAIN, etc.
  • données Les données à utiliser, comme un enregistrement de personne dans les contacts la base de données, exprimée comme un Uri.

En Savoir plus

145
répondu mr.boyfox 2017-11-13 01:28:31

Intentions sont un moyen de disant Android ce que vous voulez faire. En d'autres termes, vous décrivez votre intention. Intents peut être utilisé pour signaler au système Android qu'un certain événement s'est produit. D'autres composants dans Android peuvent s'inscrire à cet événement via un filtre d'intention.

Suivantes sont 2 types d'intentions

1.Intentions Explicites

Utilisé pour appeler un composant spécifique. Lorsque vous savez quel composant vous voulez lancer et que vous ne voulez pas donnez à l'utilisateur un contrôle libre sur le composant à utiliser. Par exemple, vous avez une application qui a 2 activités. Activité a et activité B. Vous souhaitez lancer l'activité B à partir de l'activité A. Dans ce cas, vous définissez une intention explicite ciblant activityB, puis l'utilisez pour l'appeler directement.

2.Intentions Implicites

Utilisé lorsque vous avez une idée de ce que vous voulez faire, mais vous ne savez pas quel composant doit être lancé. Ou si vous voulez donner à l'utilisateur la possibilité de choisir entre une liste de composants à utiliser. Si ces intentions sont envoyées au système Android, il Recherche tous les composants enregistrés pour l'action spécifique et le type de données. Si un seul composant est trouvé, Android démarre le composant directement. Par exemple, vous avez une application qui utilise l'appareil photo pour prendre des photos. L'une des fonctionnalités de votre application est que vous donner à l'utilisateur la possibilité d'envoyer les photos qu'il a prises. Vous ne savez pas quel type d'application l'Utilisateur a cela peut envoyer des photos, et vous voulez également donner à l'utilisateur une option pour choisir l'application externe à utiliser s'il a plus d'un. Dans ce cas, vous n'utiliseriez pas une intention explicite. Au lieu de cela, vous devez utiliser une intention implicite dont L'action est définie sur ACTION_SEND et ses données supplémentaires sur L'URI de la photo.

Une intention explicite est toujours fournie à sa cible, peu importe ce qu'elle contient; le filtre n'est pas consulté. Mais une intention implicite n'est livrée à un composant que si elle le peut passer à travers l'un des filtres du composant

Filtres D'Intention

Si une intention est envoyée au système Android, elle déterminera les applications appropriées pour cette intention. Si plusieurs composants ont été enregistrés pour ce type d'intention, Android offre à l'utilisateur le choix d'en ouvrir un.

Cette détermination est basée sur IntentFilters. Un IntentFilters spécifie les types D'intention auxquels un récepteur activity, service oubroadcast peut répondre. Un Filtre D'Intention déclare à la capacité d'un composant. Il spécifie ce qu'anactivity ou service peut faire et quels types d'émissions un récepteur peut gérer. Il permet au composant correspondant de recevoir des intentions du type déclaré. IntentFilters sont généralement définis via le AndroidManifest.fichier xml. Pour BroadcastReceiver, il est également possible de les définir en codage. Un IntentFilters est défini par ses filtres de catégorie, d'action et de données. Il peut également contenir des métadonnées supplémentaires.

Si un composant ne définit pas un filtre D'intention, il ne peut être appelé que par des intentions explicites.

Suivantes sont 2 des moyens pour définir un filtre

1.Fichier manifeste

Si vous définissez le filtre d'intention dans le manifeste, votre application n'a pas besoin d'être en cours d'exécution pour réagir aux intentions définies dans son filtre. Android enregistre le filtre lorsque votre application est installée.

2.Récepteur De Diffusion

Si vous voulez que votre récepteur de radiodiffusion pour recevez l'intention uniquement lorsque votre application est en cours d'exécution. Ensuite, vous devez définir votre filtre d'intention pendant l'exécution (par programme). Gardez à l'esprit que cela ne fonctionne que pour les récepteurs de diffusion.

42
répondu Varun Bhatia 2014-05-29 13:13:16

Vous pouvez penser à une intention comme "l'intention de faire quelque chose". C'est un type de message qui vous permet de lier des objets séparés (tels que des activités) ensemble au moment de l'exécution.

Si une activité veut démarrer une deuxième activité, elle le fait par envoi d'une intention à Android. Android va commencer la deuxième activité et passer de l'intention.

entrez la description de l'image ici

Tête Première Développement Android

15
répondu kokabi 2017-03-25 07:42:49

Après avoir écrit une seule activité, il est nécessaire de passer à une autre activité pour effectuer une autre tâche avec ou sans informations de la première activité.

Plate-forme Android permet la transition au moyen de L'Interface D'intention.

Les mots sont tirés d'ici: en utilisant Intent Demo et je vous suggère de passer par cet exemple car ils ont également fourni un fichier de code. ainsi, vous pouvez l'utiliser et facilement comprendre la même chose.

12
répondu Paresh Mayani 2014-12-27 07:21:21

Une application Android peut contenir zéro ou plusieurs activités. Lorsque votre application comporte plus d'une activité, vous devrez peut-être naviguer d'une activité à une autre. Dans Android, vous naviguez entre les activités à travers ce qu'on appelle une intention.

11
répondu Farooq Nadeem 2012-02-02 10:25:54

Selon leur documentation:

Une intention est un objet qui fournit une liaison d'exécution entre des composants distincts (tels que deux activités). L'intention représente " l'intention d'une application de faire quelque chose."Vous pouvez utiliser des intentions pour une grande variété de tâches, mais le plus souvent elles sont utilisées pour démarrer une autre activité.

Voici le lien avec l'exemple: http://developer.android.com/training/basics/firstapp/starting-activity.html#BuildIntent

Comme le le document décrit, afin de démarrer une activité (vous devez également comprendre ce qu'est l'activité), utilisez l'intention comme ci-dessous

/** Called when the user clicks the Send button */
public void sendMessage(View view) {
    Intent intent = new Intent(this, DisplayMessageActivity.class);
    EditText editText = (EditText) findViewById(R.id.edit_message);
    String message = editText.getText().toString();
    intent.putExtra(EXTRA_MESSAGE, message);
    startActivity(intent);
}
9
répondu kta 2016-09-14 04:09:57

Une intention est une description abstraite d'une opération à effectuer. Il peut être utilisé avec startActivity pour lancer une activité, broadcastIntent pour l'Envoyer à tous les composants BroadcastReceiver intéressés, et startService(Intent) ou bindService (Intent, ServiceConnection, int) pour communiquer avec un service d'arrière-plan.

Pour plus de détails, voir ces liens :

1). http://developer.android.com/reference/android/content/Intent.html

2) http://developer.android.com/guide/topics/intents/intents-filters.html

3). http://www.vogella.de/articles/AndroidIntent/article.html

Il y a beaucoup plus d'articles sont disponibles.

8
répondu Dinesh Sharma 2011-07-05 04:51:55

Android Intention

Intention Android vous permet de naviguer d'une activité android à l'autre. Avec des exemples, ce tutoriel parle également de différents types D'intentions Android.

Intention Android peut être défini comme un simple objet de message qui est utilisé pour communiquer de 1 activité à une autre.

Intentions définissent l'intention d'une demande . Ils sont également utilisés pour transférer des données entre les activités.

Une intention Android peut être utilisée pour effectuer 3 tâches :

  1. Ouvrir une autre activité ou Service à partir de l'activité en cours
  2. transmettre des données entre les activités et les Services
  3. Déléguer la responsabilité à une autre application. Par exemple, vous pouvez utilisez Intents pour ouvrir l'application du navigateur pour afficher une URL.

L'intention peut être globalement classée en 2 catégories. Il n'y a pas de mots clés pour cette catégorie et juste une large classification de la façon dont les intentions android sont utiliser.

Intention Android Explicite

Explicite Android Intention est l'Intention dans laquelle vous définissez explicitement le composant qui doit être appelé par le Système Android.

 Intent MoveToNext = new Intent (getApplicationContext(), SecondActivity.class);

Intention Android Implicite

Implicit Android Intents est L'intention où au lieu de définir les composants exacts, vous définissez l'action que vous souhaitez effectuer. La décision de gérer cette action est laissée au système d'exploitation. Le système d'exploitation décide quel composant est le mieux à exécuter intentions implicites. Voyons un exemple:

    Intent sendIntent = new Intent();
    sendIntent.setAction(Intent.ACTION_SEND);

Pour plus d'informations vous pouvez consulter ci-dessous

Http://developer.android.com/reference/android/content/Intent.html

8
répondu IntelliJ Amiya 2015-05-15 05:35:38

Quelle est l'Intention ?

C'est une sorte de message ou d'information qui est transmis aux composants. Il est utilisé pour lancer une activité, afficher une page web, envoyer des sms, Envoyer des e-mails, etc.

Il existe deux types d'intentions dans android:

Intention Implicite
Intention Explicite

Implicite intention est utilisé pour appeler les composants du système

Exemple

Intent i = newIntent(android.content.Intent.ACTION_VIEW,Uri.parse(“http://www.amazon.com”));

startActivity(i);

L'intention explicite est utilisée pour l'activité de la classe.

Exemple

Intent intent = newIntent (ce, SecondActivity.classe);

startActivity(intent);

Vous pouvez lire plus

Http://www.vogella.com/tutorials/AndroidIntent/article.html#intents_overview http://developer.android.com/reference/android/content/Intent.html

5
répondu Mina Fawzy 2015-02-25 08:10:39

Pour comprendre les intentions fondamentalement, je vous suggère de passer par le site: http://developer.android.com/guide/topics/intents/intents-filters.html

Aussi, j'ai discuté des intentions avec des exemples dans mon blog personnel: http://androiddesk.wordpress.com/2011/12/24/explicit-intent/

Http://androiddesk.wordpress.com/2012/01/13/implicit-intent/

Jetez un oeil si vous pensez que cela serait utile..

Merci

2
répondu Deepthi G 2012-02-22 12:53:54

Une Intention est une classe,c'est-à lier les informations pour faire certaines actions.

Exemple: transmission de données d'une activité à une autre activité lorsque l'utilisateur effectue de telles actions dans

Activité actuelle.

2
répondu madarkife 2012-12-24 15:13:25

L'Intention de est une intention d'effectuer une opération.

En détail, vous pouvez vous référer à

Http://developer.android.com/reference/android/content/Intent.html

Aussi, dans mon blog

Http://emergingandroidtech.blogspot.in/2014/11/what-is-intent-in-android.html

Jetez un oeil si cela vous est utile.

Je vous Remercie.

2
répondu Shriyanshu Jain 2015-03-10 08:56:42
  1. Quelles sont les intentions? Les intentions sont des messages asynchrones qui permettent aux composants de l'application de demander des fonctionnalités à partir d'autres composants Android. Intentions vous permettent d'interagir avec les composants de la propre et d'autres applications. Par exemple, une activité peut démarrer une activité extérieure pour prendre une photo.

Les intentions sont des objets de l'androïde.contenu.L'intention type. Votre code peut les envoyer au système Android définissant les composants que vous ciblez. Par exemple, par la méthode startActivity () vous pouvez définir que l'intention doit être utilisée pour démarrer une activité.

Une intention peut contenir des données via un Bundle. Ces données peuvent être utilisées par le composant récepteur.

Démarrez l'activité connectez-vous au

Classe Spécifiée

Différents types d'intentions enter code here Android prend en charge les intentions explicites et implicites.

Une application peut définir le composant cible directement dans l'intention (intention explicite) ou demander au système Android d'évaluer composants enregistrés basés sur les données d'intention (intentions implicites).

1
répondu MAFAIZ 2014-02-16 16:14:32

Les intentions sont des messages asynchrones qui permettent aux composants de l'application de demander des fonctionnalités à partir d'autres composants Android. Les intentions vous permettent d'interagir avec les composants des mêmes applications ainsi qu'avec les composants fournis par d'autres applications. Par exemple, une activité peut démarrer une activité extérieure pour prendre une photo.

Les intentions sont des objets de l'androïde.contenu.L'intention type. Votre code peut les envoyer au système Android en définissant les composants que vous êtes cibler. Par exemple, via la méthode startActivity (), vous pouvez définir que l'intention doit être utilisée pour démarrer une activité.

Une intention peut contenir des données via un Bundle. Ces données peuvent être utilisées par le composant récepteur. Pour démarrer une activité, utilisez la méthode startActivity (intent). Cette méthode est définie sur L'objet Context dont L'activité s'étend.

1
répondu Rosemol Francis 2015-02-23 04:24:38

Dans une vue générale, nous pouvons définir Intent comme

Lorsqu'une activité veut démarrer une autre activité, elle crée un objet appelé Intent qui spécifie l'activité qu'il veut démarrer.

1
répondu Kartik Goyal 2015-12-02 19:56:23

Une application Android peut contenir zéro ou plusieurs activités. Lorsque votre application comporte plusieurs activités, vous devez souvent naviguer de l'une à l'autre. Dans Android, vous naviguez entre les activités à travers ce qu'on appelle une intention. Vous pouvez passer des données à l'activité que vous voulez commencer par intent, en utilisant putExtra().

0
répondu Shaon Hasan 2014-02-06 06:26:42

Sur le papier Deep Dive into Android IPC/Binder Framework atAndroid Builders Summit 2013 lien

L'intention est comprise dans certaines lignes petites mais efficaces

  1. Android prend en charge une forme simple de IPC (inter process communication) via intents
  2. Intent messaging est un cadre pour la communication asynchrone entre les composants Android (activité, service, fournisseurs de contenu, récepteur de diffusion)
  3. ces composants peuvent s'exécuter dans la même application ou entre différentes applications (c'est-à-dire des processus)
  4. active les deux point à point ainsi que publier des domaines de messagerie d'abonnement
  5. L'intention elle-même représente un message contenant la description de l'opération à effectuer ainsi que les données devant être transmises au destinataire(s).

De ce fil une réponse simple de l'architecte android Dianne Hackborn l'indique comme un data container ce qu'il est réellement.

Du point de vue de l'architecture android :

Intent est un conteneur de données utilisé pour les processus inter communication. Il est construit au-dessus du Binder du point de vue de l'architecture android.

0
répondu Zahan Safallwa 2016-04-08 11:35:24

Les intentions sont utilisées pour lancer une autre activité activity.It est essentiellement utilisé à plusieurs fins telles que l'envoi de données à une autre activité à partir d'une activité,et à des fins de déclenchement.

Ils sont fondamentalement de deux types

  1. Intentions implicites.

  2. Intentions explicites.

En tant que débutant, je le sais beaucoup, je pense que cela donnera une idée de base sur les intentions android

0
répondu Soorya Prakash 2016-05-30 21:46:14