VII.1 Almacenamiento de preferencias.
Las preferencias en el ámbito de aplicaciones móviles se refieren a los datos que personalizan la experiencia del usuario dentro de la aplicación. Por ejemplo: nombre, teléfono, correo, etc., o también alguna o pción de color o de estilo de la aplicación.
Android Studio proporciona la clase SharedPreferences para el almacenamiento local de las preferencias mediante un a rchivo con extensión .xml.
Para crear un objeto de tipo SharedPreferences se hace lo siguiente:
SharedPreferences preferences = getSharedPreferences(String,Context.Mode_*)
Donde String es una cadena de caracteres con el nombre de identificador del archivo donde se almacenarán las colecciones de datos y Context.Mode_* puede ser alguno de los siguientes valores:
- MODE_PRIVATE. Sólo nuestra aplicación tiene acceso a estas preferencias.
- MODE_ WORLD_READABLE. Todas las aplicaciones pueden leer estas preferencias, pero sólo la nuestra puede modificarlas.
- MODE_WORLD_WRITABLE. Todas las aplicaciones pueden leer y modificar estas preferencias.
Para crear una nueva colección de preferencias, primero se guarda la referencia a las preferencias en el atributo Editor de un objeto al que llamaremos editor de clase SharedPreferences.Editor. Posteriormente, para guardar preferencias se usa el método putString() que recibe como parámetros el nombre de una colección y el dato que se almacenará en la colección. Con el método commit() se concluye la operación. Por ejemplo:
SharedPreferences.Editor editor = preferences.edit(); editor.putString("correo", "prueba1"); editor.commit();
En este caso, "correo" es la clave de colección en donde se quiere agregar el elemento dentro del archivo y "prueba1" es el dato que se almacena en la colección.
Para obtener el contenido de una colección hay que usar el método getString("correo","default"). En éste caso "correo" es la clave de colección de donde se quiere obtener los datos y "default" que es el valor que aparecerá en caso de no encontrar dicha colección.