Je veux stocker et récupérer des données accessibles à toutes les activités de mon application utilisant SharedPreferences. Est-ce possible? Jusqu'à présent, je l'ai fait de telle sorte que les données soient stockées pour une activité particulière. P>
5 Réponses :
Oui. SharePreferences Faites exactement cela.
Dans chaque activité, vous pouvez ceci: puis récupérer des valeurs dans une autre activty faire ceci: p> C'est la documentation:
http://developer.android.com/reference/andrroid/content/sharedpreferences.html p> Et c'est un bon exemple pour commencer avec: p> http://myandroidsolutions.blogspot.it/2012/03/androïde-preferenceActivity.html P> p>
vraiment utile merci :)
Cela semble utile, mais est-ce à jour? Je me demande quels "ApplicationConstants" est et je ne trouve aucune information à ce sujet dans la documentation. En outre, le bon exemple dans ce blog est parti. Cela a du sens cependant, je réalise que la réponse a été donnée il y a 5 ans.
ApplicationConStants serait une constante définie dans le fichier de constantes de l'application ou une classe Java nommée ApplicationContstants, vous pouvez simplement transmettre une chaîne là-bas, mais assurez-vous que la chaîne est la même partout que vous l'utilisez.
Oui, c'est l'objet entier.
Voici comment vous devriez y écrire, via et pour charger IT: P> Editor code> p>
shp.getString("var1", "defvalue");
Ok, ça s'appelle Gesharedpreferences. Je n'utilisais que getpreferences. Merci!
Si vous souhaitez accéder à des valeurs dans toutes vos activités, je pense que la meilleure façon est de stocker dans une classe d'application personnalisée et plus loin dans les activités que vous pouvez:
((CustomApplication)getApplication()).getStoredValue()
J'ai une meilleure version. Comme parfois, lorsque vous essayez de faire String username = sharedPreferences.getString("username","");
est mon exemple pour créer une fonction pour définir et obtenir des données d'objet appelées "utilisateur"
public Usuario getUser() {
SharedPreferences sharedPref = getSharedPreferences("A", Context.MODE_PRIVATE); // sharedpreference set named "A"
User usuario = new User();
usuario.setNombre(sharedPref.getString("name", "null"));
usuario.setUsername(sharedPref.getString("username", "null"));
usuario.setContrasena(sharedPref.getString("pass", "null"));
usuario.setRol(sharedPref.getString("roll", "null"));
return usuario;
}
Vous pouvez également utiliser le fichier de préférences par défaut, voir Ceci