Qu'est-ce qu'un bundle
dans une application Android? Quand l'utiliser?
android
bundle
android-bundle
Utilisateur
la source
la source
Passez des données entre les activités à l'aide de
Bundle
et d'Intent
objets.Votre premier créer un
Bundle
objetEnsuite, associez les données de chaîne stockées dans
anystring
avec la clé de l'ensemble"myname"
Maintenant, créez un
Intent
objetPasser l'objet bundle
b
à l'intentionet commencer la deuxième activité
Dans la deuxième activité, nous devons accéder aux données transmises depuis la première activité
Maintenant, vous devez obtenir les données du bundle
Enfin, obtenez la valeur des données de chaîne associées à la clé nommée
"myname"
la source
Je dois ajouter que les bundles sont utilisés par les activités pour se transmettre des données à l'avenir.
Lorsque l'écran pivote ou lorsqu'une autre activité démarre, la méthode
protected void onSaveInstanceState(Bundle outState)
est appelée et l'activité est détruite. Plus tard, une autre instance de l'activité est créée etpublic void onCreate(Bundle savedInstanceState)
appelée. Lorsque la première instance d'activité est créée, le bundle est nul; et si le bundle n'est pas nul, l'activité poursuit une activité démarrée par son prédécesseur.Android enregistre automatiquement le texte dans les champs de texte, mais il ne sauvegarde pas tout, et des bugs subtils apparaissent parfois.
L'anti-modèle le plus courant, cependant, suppose que cela
onCreate()
ne fait que l'initialisation. C'est faux, car il faut aussi restaurer l'état.Il existe une option pour désactiver ce comportement "recréer une activité lors de la rotation", mais cela n'empêchera pas les bogues liés au redémarrage, cela les rendra plus difficiles à mentionner.
Notez également que la seule méthode dont l'appel est garanti lorsque l'activité va être détruite est
onPause()
. (Voir le graphique du cycle de vie des activités dans les documents.)la source
A
Bundle
ressemble beaucoup à unMap
objet Java qui mappe lesString
clés aux valeurs. Il est utilisé pour transmettre des informations entre les activités et d'autres composants d'application. Il est également utilisé par le framework pour capturer et restaurer les informations d'état.La raison pour laquelle Android n'utilise pas de vieux
Map
objets simples est queMap
c'est trop flexible; il peut contenir des objets (comme, par exemple, des flux d'E / S) qui ne peuvent pas être sérialisés. L'Bundle
API restreint les types d'objets qui peuvent être ajoutés à un bundle de telle sorte que le contenu du bundle est garanti pour être sérialisable. Le cadre Android repose sur cette propriété.Je vous suggère de lire la documentation sur les principes fondamentaux de l'application . Cela explique, entre autres, ce que sont les bundles et les intentions et à quoi ils servent.
la source
Les bundles peuvent être utilisés pour envoyer des données arbitraires d'une activité à une autre par le biais d'intentions. Lorsque vous diffusez une Intention, les Activités intéressées (et les autres BroadcastRecievers) en seront informés. Une intention peut contenir un ensemble afin que vous puissiez envoyer des données supplémentaires avec l'intention.
Les bundles sont des mappages de valeurs-clés, donc en quelque sorte ils sont comme un hachage, mais ils ne sont pas strictement limités à un seul mappage d'objets String / Foo. Notez que seuls certains types de données sont considérés comme "parcelables" et ils sont explicitement énoncés dans l'API Bundle.
la source
Créez simplement un bundle,
DANS "this_is_the_next_class.class"
Vous pouvez récupérer les éléments comme celui-ci.
la source
Le bundle est utilisé pour transmettre des données entre les activités. Vous pouvez créer un ensemble, le transmettre à Intent qui démarre l'activité qui peut ensuite être utilisée à partir de l'activité de destination.
la source
Bundle: - Un mappage des valeurs de chaîne à différents types de parcelles.
Le bundle est généralement utilisé pour transmettre des données entre diverses activités d'Android.
lorsque nous appelons onPause () puis onStop () puis dans l'ordre inverse onStop () à onPause ().
Les données enregistrées que le système utilise pour restaurer l'état précédent sont appelées "état d'instance" et sont une collection de paires clé-valeur stockées dans un objet Bundle.
la source
le bundle est utilisé pour partager des données entre les activités et pour enregistrer l'état de l'application dans la méthode oncreate () afin que l'application sache où elle a été arrêtée ... J'espère que cela aide :)
la source
utilisation de l'envoi groupé de données d'une activité à une autre à l'aide d'un objet intentionnel; Le bundle contient les données qui peuvent être de tout type.
Maintenant, je dis que comment créer un paquet en passant des données entre deux activités.
Étape 1: Sur la première activité
Étape 2: Sur la deuxième activité
Je pense que cela vous est utile ...........
la source
Le bundle ne sert pas uniquement à transférer des données entre deux composants différents, mais il est surtout utilisé pour restaurer les valeurs stockées avant que l'activité ne soit détruite dans une nouvelle activité.
comme le texte d'un
EditText
widget ou la position de défilement d'un fichierListView
.la source
Première activité:
Deuxième activité:
la source