Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Cómo guardar valores de preferencias compartidas incluso el dispositivo se apaga?

Estoy utilizando SharedPreferences para guardar los datos del servidor en local, cuando el dispositivo se desactiva los valores en SharedPreferences se perdieron, de nuevo su descarga desde el servidor.

 public void saveCollection(Context context) { SharedPreferences settings = context.getSharedPreferences(context.getString(R.string.restore_values), 0); SharedPreferences.Editor e = settings.edit(); e.clear(); e.putStringSet(context.getString(R.string.collection), collection); e.commit(); } 

Había hecho esto, pero no tuve suerte.

4 Solutions collect form web for “¿Cómo guardar valores de preferencias compartidas incluso el dispositivo se apaga?”

Parece que no estás accediendo a las preferencias correctas:

 final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 

(Suponiendo que "esto" es un contexto)

Cada actividad pasa por un ciclo de vida muy específico como se define en la documentación del desarrollador . Después de leerlo, puede llegar a encontrar que cada vez que se toma una Activity de foco, llamará al método onPause() . Con esto en mente, puede añadir a su actividad lo siguiente:

 @Override public void onPause() { super.onPause(); // Always call the superclass method first // You can call saveCollection() here and now it will always be called when // the activity is taken away (assuming your app doesn't force close) saveCollection(this); } 

Personalmente, utilizo este método para obtener el objeto SharedPreferences:

 SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); 

Y creo que deberías llamar a saveCollection () en onPause ()

Las preferencias compartidas siempre se guardan en el sistema de archivos, por lo que siempre se guardan cuando se apaga el dispositivo. Es más probable que su problema sea leerlos que no almacenarlos, sobre todo porque no solo está abriendo la preferencia compartida predeterminada para la aplicación.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.