7
votes

Stockage des données dans SharedPreferences accessible à toutes les activités

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.


1 commentaires

Vous pouvez également utiliser le fichier de préférences par défaut, voir Ceci


5 Réponses :


9
votes

Oui. SharePreferences Faites exactement cela. Dans chaque activité, vous pouvez ceci: xxx

puis récupérer des valeurs dans une autre activty faire ceci: xxx

C'est la documentation: http://developer.android.com/reference/andrroid/content/sharedpreferences.html

Et c'est un bon exemple pour commencer avec:

http://myandroidsolutions.blogspot.it/2012/03/androïde-preferenceActivity.html


3 commentaires

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.



2
votes

Oui, c'est l'objet entier.

Voici comment vous devriez y écrire, via Editor code> p> xxx pré>

et pour charger IT: P>

shp.getString("var1", "defvalue");


1 commentaires

Ok, ça s'appelle Gesharedpreferences. Je n'utilisais que getpreferences. Merci!



1
votes

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()


0 commentaires

2
votes

J'ai une meilleure version. Comme parfois, lorsque vous essayez de faire getSharedpreferences forts>, vous pourriez obtenir une erreur telle qu'elle est introuvable. Voici comment je stocke des valeurs dans mes projets Android.

Ajouter strud> P>

String username = sharedPreferences.getString("username","");


0 commentaires

0
votes

est mon exemple pour créer une fonction pour définir et obtenir des données d'objet appelées "utilisateur"

pour définir les données SharePreferFeferFeferFeferFeferFeferFeferFeferFeferferference PRE> XXX PRE>

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;
    }


0 commentaires