2010-10-19 12 views
5

cuando se establece una preferencia compartida por ejemplo, debajo ...de acceso Preferencias compartidas por diferentes Actividad (Android)

public static final String PREFS_HI = "MyPrefsFile"; 

¿Se puede acceder a ella desde otras actividades al igual que lo haría normalmente?

SharedPreferences settings = getSharedPreferences(PREFS_HI, 0); 

¿O hay algo único que debe hacer para acceder a las preferencias?

Respuesta

1

Me di cuenta de esto. Acabo de utilizar las variables globales y las preferencias compartidas almacenadas allí. Cuando otra actividad quería acceder a las preferencias, simplemente accedería a una variable global.

+0

Usted quiere decir 'SharedPreferences' han almacenado como' static' público? Realmente no deberías estar haciendo eso. Cometí el mismo error y aunque funciona, causa una gran pérdida de memoria. Ver: http://android-developers.blogspot.in/2009/01/avoiding-memory-leaks.html –

3

Guardaría su nombre de preferencias compartidas (Lo que está llamando PREFS_HI) en el archivo de recursos xml (strings.xml). Entonces solo puede usar getSharedPreferences(getResources().getString(R.string.sharedPrefs)). Tu solución también funciona así. (Y el rendimiento puede ser ligeramente mejor en su versión.)

+0

Ya, investigué esta alternativa también. –

0

getApplication(). GetSharedPreferences (nombre, modo) a probar esto

Cuestiones relacionadas