Las SharedPreferences se usan para almacenar datos de la aplicación de forma persistente como el nombre del usuario o la puntuación de un juego. Se almacenan en formato clave-valor y la información se puede compartir entre aplicaciones. Para escribir datos se usa el método editor.put y para leer datos los métodos get.
1. Curso desarrollo en Android
SharedPreferences
Ó
Administradores de preferencias
2. Que son las SharedPrefences
● Son usadas para almacenar datos de nuestra app.
ej: Nombre del usuario, puntuacion en un juego, etc.
● Son datos almacenador en forma clave-valor, es decir un identificador
unico (ej: “user”) y un valor asociado (ej: “oscar”)
● Son nativas de Android y funcionan con todas su APIs.
● La informarción guardada se puede compartir con otras apps
instaladas en el sistema.
3. Obteniendo el objeto SharedPreferences
El objeto SharedPreferences que hemos almacenado en mShared sera el
encargado de leer o escribir preferences.
Con el metodo getDefaultSharedPreferences() obtenemos el archivo por
defecto para almacenar preferences, pero si queremos nuestro propio
archivo usamos:
4. Escribiendo y leyendo preferences
Para poder escribir nuevas preferences obtenemos el objeto Editor, para poder
almacenar variables usamos el metodo put.
Ej: editor.putString(“NombreDeLaPreference”, “ValorParaAlmacenar”);
Ej: editor.putBoolean(“NombrePreference”, true);
Para que se escriban todas las nuevas preferences hace falta añadir como
cierre editor.commit();
Ej:
SharedPreferences.Editor editor = mShared.edit();
editor.putString(“NombreUsuario”, “Oscar”);
editor.commit();
5. Resultado de la escritura de datos
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="NombreDeLaPreference">ValorParaAlmacenar</string>
<string name="NombrePreference">true</string>
<string name="NombreUsuario">Oscar</string>
</map>
El resultado de lo hecho anteriormente sera un XML con el siguiente contenido:
6. Leyendo datos de un SharedPreference
Obtener cualquier preference previamente almacenado es facil usando los gets que
ofrece la clase SharedPrefences.
Ej:
mShared.getAll(); //Devuelve todos los preferences
mShared.getString(“NombreDelPreference”, “ValorPorDefectoSiNoSeEncuentra”);
mShared.getInt(“NumeroUsuarios”, 0) //El 0 es el valor por defecto