Comment puis-je savoir quelles données sont fournies dans un Bundle?
Je vais avoir un diable de temps à essayer de comprendre quelles sont les données à venir à mes méthodes à travers Intent
/Bundle
s. J'ai essayé d'ajouter des points de rupture pour inspecter les données, mais je ne vois pas quoi que ce soit. Peut-être parce que c'est un Parcelable
je ne peux pas manuellement le lire dans Eclipse.
Par exemple, un onActivityResult(int requestCode, int resultCode, Intent data)
pour un Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI)
. Comment puis-je savoir quelles sont les données disponibles? Remarquez, je ne suis pas en demander QUELLES sont les données disponibles, mais comment diable puis-je le comprendre donc je peux appliquer la même idée à toutes les Bundle
/Intent
à partir de l'Android cadre? Peut-être que c'est aussi simple que de regarder les docs, mais je ne vois pas une liste complète de données et je ne peux pas le voir dans Eclipse. Donc, je suis à une perte.
Vous devez vous connecter pour publier un commentaire.
Bundle.keySet()
vous donne une liste de toutes les clés dans le bundle. Cela dit, généralement, il suffit de s'attendre certaines touches et de les interroger, maiskeySet()
est utilisé pour examiner les bundles que vous obtenez à partir de quelque part.Bundle.keySet
pour voir ce qui est à l'intérieur de l'ensemble après l'utilisation de Google de l'application contacts. Mais devinez quoi: les Chances sont, HTC contacts de l'application renvoie un autre bundle. Ou MotoBlur. Dans votre cas particulier, la seule chose que vous pouvez compter sur l'intention de données, afin de lire le résultat comme expliqué ici: stackoverflow.com/questions/866769/... .. les autres informations que l'ID avez-vous besoin de toute façon?getData
, qui est défini et que vous pouvez compter sur. Le bundle, pas de. Ceci est destiné à être utilisé en interne dans votre propre application. Ou, si c'est essentiel pour un rappel, elle sera documentée. Mais si non, alors non.je obtenir alll clé et la valeur de faisceau stocké...
de sortie:
La seule chose que vous sortez d'un Bundle est ce que vous mettez dans. Les Bundles sont des moyens de transmission de l'information entre les activités. Si vous êtes en charge de l'ensemble de votre application, vous ne devriez pas besoin de regarder à l'intérieur du groupe, de vos objets, vous devez les télécharger. Pensez hashmap clés... si vous ne connaissez pas la clé, ce n'est pas comme vous pouvez chercher dans la table de hachage.
Pour placer un élément dans un ensemble et passer à l'activité suivante, vous devez mettre comme une Supplémentaire. Jetez un oeil ici pour un exemple de la transmission des données via les extras et les faisceaux entre les activités.
Copié et collé ci-dessous:
De Activity1
Dans Activity2