Shared Preferences

Capture

Shared Preferences también llamadas Preferencias de la aplicación almacena los datos de forma privada con el formato clave-valor.Se puede guardar información personal, configuración de la aplicación, opciones de presentación, etcétera.Se guardan datos primitivos (boolean, int, long. float y String) y se almacenan en un archivo XML. Se pueden gestionar diferentes archivos de preferencias en la misma aplicación. Estos archivos que se crean son borrados al desinstalar la aplicación.

Hay dos formas de crearlos:

  • Objeto SharedPreferences: Se debe obtener un objeto SharedPreferences que gestione los archivos de preferencia (se obtiene con el método getSharedPreferences(String nombre, int modo) el nombre es el nombre del archivo XML y el modo determina si es privado o permite lectura o escritura). Cuando el objeto esta creado ya se puede leer insertar o modificar. Para obtener valores utilizaremos los métodos getBoolean(String nombre, boolean valorPorDefecto), getInt(String nombre, int valorPorDefecto) y getString(String nombre, StringvalorPorDefecto). Para escribir tenemos que crear un editor SharedPreferences.Editor y con el podremos utilizar los métodos de escritura putBoolean(String nombre, boolean valor), putInt(String nombre, int valor) y putString(String nombre, String valor) para aplicar los cambios al escribir tendremos que realizar un commit().
  • Pantalla de opciones mediante XML: Es un pantalla en la que todas las opciones comparten una interfaz común, se pueden organizar en categorías y dentro de estas tendremos varios tipos de opciones. Para crear esta pantalla utilizaremos un fichero XML que se guardara en “/res/xml/pantallapreferencias.xml” . El contenedor principal será el elemento <PreferenceScreen> dentro definiremos las categorías con el elemento <PreferenceCategory> (con el atributo android:title), dentro de cada categoría podremos definir las opciones que pueden ser CheckBoxPreference, EditTextPreference, ListPreference, MultiSelectListPreference estos elementos tiene varios atributos los comunes son (android:key para el nombre interno de la opción, android:title texto que se muestra y android:summary para la descripción) además de estos atributos algunos elementos tienen más. EditTextPreference tiene un atributo android:dialogTitle que es el texto que aparece el cuadro de dialogo que se muestra al seleccionar esta opción. ListPreference, MultiSelectListPreference tienen también el atributo android:dialogTitle y además cuentan con dos más el atributo android:entries y android:entryValues el primero para la lista de valores visibles y el segundo para la lista de valores internos. La recuperación de los datos es igual que para Objeto SharedPreferences menos MultiSelectListPreference que se utiliza el método getStringSet(Stringkey,Set<String>valDefecto) que devuelve el valor en HashSet. Cuando ya tenemos creada la pantalla en XML se creara el java, es un clase que extiende de PreferenceActivity y únicamente tiene el método onCreate  que implementa addPreferencesFromResource(R.xml.nombreXML)

Ejemplos:

  • Objeto SharedPreferences: 
SharedPreferences preferencias = getSharedPreferences("MisPreferencias", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferencias.edit();
editor.putString("email","correo@email.com");
editor.putString("nombre","Jose");
editor.commit();
  • Pantalla de opciones mediante XML: Para esta forma se ha realizado una practica que consisten en una aplicación con dos ventanas una es la pantalla de preferencias que tiene 3 categorías, Datos Personales (Nombre (campo de texto), Sexo (lista de selección única), Mayor de edad (si o no)), Sonido (Sonido (si o no)) y Preferencias (Preferencias Personales (Lista selección múltiple)). La otra pantalla es la principal que tiene dos botones y un textView, un botón no llevara a la pantalla de preferencias y el otro cargara en el textView lo datos guardados de la pantalla de preferencias.

El código de la practica se puede ver en  https://github.com/ronocid/EjercicioPantallaOpciones.git

pe2 po2

Anuncios

Publicado el 12/01/2014 en PMM y etiquetado en , , . Guarda el enlace permanente. Comentarios desactivados en Shared Preferences.

Los comentarios están cerrados.

A %d blogueros les gusta esto: