2017-10-08 13 views
2

Dans android, nous préservons l'état d'instance de nos activités en utilisant onSaveInstanceState(Bundle outState).Quelle est la portée de `Bundle savedInstanceState`

Maintenant, afin de mettre en œuvre correctement cela, il est nécessaire d'avoir une clé de chaîne unique pour toutes les variables stockées à l'intérieur outState.

Je suis curieux de savoir à quel point j'ai besoin de cette chaîne.

1) Le Bundle propagés via le système d'exploitation Android à toutes les activités actives - donc toutes les clés doivent être application & activité un espace de noms?
(par exemple com.twitter.www.mobile.LOGIN_ACTIVITY.is_logged_in)

2) Est-ce le Bundle accessible uniquement par l'activité dans laquelle il était called- donc toutes les clés ne doivent être application espaces de noms?
(par exemple com.twitter.www.mobile.is_logged_in)

+0

Ma suggestion est que vous mettez le nom canonique de l'activité suivi du nom de la variable, il n'y aura pas de confusion possible. – m0skit0

Répondre

2

Le faisceau sur un point Fragment ou Activity est unique seulement que Fragment ou Activity. Ils ne sont pas propagés dans toute l'application. Il est toujours bon d'être verbeux/spécifique dans vos clés et variables pour éviter toute confusion, mais vous n'avez pas à vous soucier d'accéder au mauvais paquet d'état d'instance ou à la paire clé-valeur d'une activité ou d'un fragment différent.