11
votes

Relation de l'intention et du paquet

Lors de l'utilisation de l'intention, nous pouvons mettre directement différents types de données à l'aide de son PutexTra () . Nous pouvons également mettre ces données supplémentaires dans un objet objet et l'ajouter à Intention . Alors, pourquoi avons-nous besoin de Bundle si nous pouvons le faire en utilisant directement directement?


0 commentaires

4 Réponses :


3
votes

Supposons que vous devez passer un Bundle d'une activité à un autre. C'est pourquoi Intention vous permet d'ajouter Bundle s comme des champs supplémentaires.

EDIT : Par exemple, si vous voulez passer une ligne d'une base de données avec d'autres données, il est très pratique de mettre cette ligne dans un Bundle et ajoutez cette < Code> Bundle à l'intention comme champ supplémentaire.


5 commentaires

Je demande pourquoi? Nous allons mettre les mêmes données supplémentaires dans l'ensemble et ajouter ce forfait dans l'objet d'intention. Ce que nous puissions mettre directement dans l'objet de l'intention. Ce n'est pas le cas?


Pas, ce n'est pas le cas. Vous pouvez simplement avoir un Bundle vous devez passer. Voulez-vous vraiment copier le champ sur le terrain vers l'intention . Et si les clés du Bundle et l'intention se chevauchent? Vous ne pouvez pas savoir toutes les choses que les gens le font, rappelez-vous simplement que vous êtes capable de mettre un dans une intention et quand vous en avez besoin, vous saurez quoi faire.


Un petit exemple: vous voulez passer une ligne d'une base de données avec d'autres données. Il est très pratique de stocker cette ligne dans un Bundle . Dans l'une de mes applications, j'utilise une liste de Bundle S pour passer plusieurs lignes d'une base de données.


Ce n'est pas une raison pratique Buddy.See la raison ci-dessous c'est mieux. +1 pour cela quand même.


Cela dépend de la façon dont vous estimez un niveau de commodité. Je vous ai donné un exemple de la vie réelle, mais je n'ai jamais rencontré une situation lorsque je devais mettre beaucoup de variables au paquet simplement parce qu'il y a beaucoup de variables. Habituellement, les gens créent contrattables d'objets dans de telles situations. C'est beaucoup plus sûr et plus facile à comprendre et à entretenir.



8
votes

Parfois, vous devez passer uniquement un peu de variables ou à une autre activité , mais si vous avez un groupe de variable ou de valeurs que vous devez passer à diverses activités . Dans ce cas, vous pouvez utiliser Bundle et transmettre le Bundle dans l'activité requise avec facilité. Au lieu de passer à chaque fois la variable unique.


1 commentaires

Mextras = Nouvel ensemble (); n'est-ce pas assez convaincant? Si vous ne voulez pas vérifier le code source .java vous-même.



18
votes

Comme vous pouvez le constater, l'intention le stocke en interne dans un Bundle . xxx


0 commentaires

1
votes

Je suppose que ce que @Lalit signifie suppose que votre activité passe toujours les mêmes variables à différentes intentions, vous pouvez tous les stocker dans un seul Bundle code> dans votre classe et utilisez simplement l'intention . Putextras (mbundle) code> Chaque fois que vous avez besoin du même ensemble de paramètres.

Cela faciliterait la modification du code si l'un des paramètres deviennent obsolètes dans votre code, par exemple. Comme: p>

for (int i=0; i<array.mSize; i++) {
    put(array.keyAt(i), array.valueAt(i));
}


0 commentaires