2010-10-19 5 views
5

Lorsque vous établissez une préférence partagée, comme ci-dessous ...Préférences d'accès partagé à partir de l'activité différente (Android)

public static final String PREFS_HI = "MyPrefsFile"; 

Pouvez-vous y accéder à partir d'autres activités comme vous le feriez normalement faire?

SharedPreferences settings = getSharedPreferences(PREFS_HI, 0); 

Ou y at-il quelque chose d'unique que vous devez faire pour accéder aux préférences?

Répondre

1

Compris moi-même. Je viens d'utiliser des variables globales et des préférences partagées stockées à l'intérieur. Lorsqu'une autre activité souhaite accéder aux préférences, elle accède simplement à une variable globale.

+0

Vous voulez dire que vous avez '' SharedPreferences' stockés sous forme static' public? Tu ne devrais vraiment pas faire ça. J'ai fait la même erreur et même si cela fonctionne, cela provoque une énorme fuite de mémoire. Voir: http://android-developers.blogspot.in/2009/01/avoiding-memory-leaks.html –

3

Je stockerais votre nom de préférences partagées (ce que vous appelez PREFS_HI) dans le fichier xml de ressources (strings.xml). Ensuite, vous pouvez simplement utiliser getSharedPreferences(getResources().getString(R.string.sharedPrefs)). Votre solution fonctionne également. (Et la performance peut être un peu mieux dans votre version.)

+0

Ya, j'ai regardé dans cette alternative aussi. –

0

getApplication(). GetSharedPreferences (nom, mode) essayez cette

Questions connexes