2010-10-16 19 views
7

Ahora estoy intentando guardar una variable cuando cierro la aplicación y recuperar la variable cuando abro la aplicación. No tengo idea si estoy haciendo esto bien. Mi variable se llama conteo y me gustaría guardarla y restaurarla. ¿Es esto correcto? Si es así, ¿por qué no está funcionando? Si no, ¿qué necesito cambiar? (Obviamente estoy usando SharedPreferences)Problema al guardar las preferencias compartidas en Android

protected void onPause(){ 
    super.onPause(); 


    SharedPreferences settings = getSharedPreferences(PREFS_COUNT, 0); 
    SharedPreferences.Editor editor = settings.edit(); 
    editor.putInt("count", count); 
    editor.commit(); 
} 
@Override 
protected void onResume(){ 
    super.onResume(); 
    SharedPreferences settings = getSharedPreferences(PREFS_COUNT, 0); 
    count = settings.getInt("count", count); 
} 
+0

"¿por qué no funciona?" -> ¿podrías ser más preciso? ¿Estás obteniendo un error? ¿Es tu valor incorrecto? ¿Has ejecutado tu depurador? – JRL

+0

Bueno, la aplicación se carga bien, pero no guarda la variable. –

+0

Absolutamente no hay error, pero lo hice funcionar. –

Respuesta

6

Parece derecho, sino en asegurarse de que tiene una constante:

public static final String PREFS_COUNT = "MyPrefsFile"; 

declaró al comienzo de su actividad. Está bien aquí en la documentación de Google:

http://developer.android.com/guide/topics/data/data-storage.html#pref

debería funcionar bien si se siguen exactamente eso.

+1

Ah, ya veo. he olvidado cargar las preferencias en el "paquete Oncreate" ...... Gracias –

+1

Curioso que resolvió mi problema, incluso no entiendo por qué, utilicé la llamada como: getSharedPreferences (MyClass.getSimpleName(), 0) ; eso debería ser bastante constante ... – joecks

+0

El punto no es que necesites la cadena estática, el punto es que necesitas usar un archivo común de preferencias en tu aplicación, ¿correcto? –

Cuestiones relacionadas