Shared Preferencesson archivos XML para almacenar datos primitivos privados en pares clave-valor. Los tipos de datos incluyen booleanos , flotantes , entrantes , largos y cadenas .
Cuando deseamos guardar algunos datos accesibles a través de la aplicación, una forma de hacerlo es guardarlos en una variable global. Pero desaparecerá una vez que se cierre la aplicación. Otra forma recomendada es ahorrar SharedPreference. Se puede acceder a los datos guardados en el archivo SharedPreferences en toda la aplicación y persisten incluso después de que la aplicación se cierra o se reinicia.
SharedPreferences guarda los datos en pares clave-valor y se puede acceder de la misma manera.
Puedes crear objetos SharedPreferencesusando dos métodos,
1) getSharedPreferences () : con este método puede crear Multiple SharedPreferences. y sus primeros parámetros en nombre de SharedPreferences.
2) getPreferences () : con este método puede crear Single SharedPreferences.
Almacenamiento de datos
Agregar una declaración de variables / Crear archivo de preferencias
public static final String PREFERENCES_FILE_NAME = "MyAppPreferences";
Recupere un identificador para el nombre de archivo (usando getSharedPreferences)
SharedPreferences settingsfile= getSharedPreferences(PREFERENCES_FILE_NAME,0);
Abrir Editor y Agregar pares clave-valor
SharedPreferences.Editor myeditor = settingsfile.edit();
myeditor.putBoolean("IITAMIYO", true);
myeditor.putFloat("VOLUME", 0.7)
myeditor.putInt("BORDER", 2)
myeditor.putLong("SIZE", 12345678910L)
myeditor.putString("Name", "Amiyo")
myeditor.apply();
No olvides aplicar / guardar usando myeditor.apply() como se muestra arriba.
Recuperando datos
SharedPreferences mysettings= getSharedPreferences(PREFERENCES_FILE_NAME, 0);
IITAMIYO = mysettings.getBoolean("IITAMIYO", false);
//returns value for the given key.
//second parameter gives the default value if no user preference found
// (set to false in above case)
VOLUME = mysettings.getFloat("VOLUME", 0.5)
//0.5 being the default value if no volume preferences found
// and similarly there are get methods for other data types