Este documento describe el uso de preferencias en Android. Explica que las preferencias permiten almacenar valores de configuración del usuario de forma persistente usando pares clave-valor. Detalla cómo se pueden leer, escribir y mostrar preferencias mediante la clase SharedPreferences y actividades PreferenceActivity. El ejemplo mostrado ilustra cómo crear un archivo XML de preferencias y una actividad que gestiona el acceso y almacenamiento de las preferencias del usuario.
1. Análisis y Diseño
de Software
Departamento de Ingeniería de Sistemas Telemáticos
http://moodle.dit.upm.es
Preferencias
Carlos A. Iglesias <cif@gsi.dit.upm.es>
v1.0 22/04/2013
2. Preferencias 2
Temario
● 4.1 Introducción a Android
● 4.2 Introducción Desarrollo con Android
● 4.3 Ejemplo Desarrollo y Depuración
● 4.4 Actividades
● 4.5 Interfaces de Usuario
● 4.6 Intenciones
● 4.7 Acceso a Datos
● 4.8 Preferencias
● 4.9 Hebras e internacionalización
6. Preferencias 6
Motivación
● Es deseable que el usuario pueda
modificar algunos valores de la aplicación
● P.ej.
– Usuario / contraseña
– Color de la pantalla, estilo
– Funcionamiento (orden en que se muestra, ...)
7. Preferencias 7
Persistencia en Android
● Android nos ofrece varias alternativas de
almacenamiento persistente:
– Bases de datos
– Pares atributos valor (preferencias) (este tema)
– Sistema de ficheros (interno o externo en SD)
– Conexión de red para almacenar datos de
forma remota
8. Preferencias 8
Almacenamiento de datos
● En Android, todos los datos de la
aplicación (incluyendo ficheros) son
PRIVADOS para esa aplicación
● La forma estándar de acceder a los datos
son los ContentProvider, de los cuales
hay componentes estándar para acceder a
ficheros multimedia, contactos, etc.
9. Preferencias 9
Preferencias
● Las preferencias son un mecanismo ligero
para guardar pares clave-valor de tipos
primitivos en Mapas
● La clave es un String y el valor un tipo
primitivo
● Las preferencias son similares a los
Bundles que usábamos en las Intenciones,
pero las preferencias son persistentes
10. Preferencias 10
API de Preferencias
● Obtener objeto SharedPreferences
– getSharedPreferences() - si tenemos múltiples
ficheros de preferencias, debemos indicar el
nombre del fichero
– getPreferences() - si sólo tenemos 1 fichero de
preferencias
12. Preferencias 12
Escribir Preferencias
● Tenemos dos opciones
– Usar una Actividad que extiende
PreferenceActivity (y guarda ella ya los valores)
– Guardarlo a mano
• Obtener un objeto SharedPreferences.Editor con el
método edit()
• Escribir en el objeto Editor
– putBoolean, putString(), putFloat(), putInt(), putLong
– remove(String key)
– clear() (borrar todas las claves)
• Persistir cambios en Editor con commit()
13. Preferencias 13
Mostrar Preferencias
● Debemos crear una Actividad que extiende
PreferenceActivity
● El fichero XML de preferencias debe ser un
PreferenceScreen. Dentro indicamos el
tipo de preferencias
– CheckBoxPreference
– ListPreference
– EditTextPreference
27. Preferencias 27
Resumen
● Las preferencias de Android son un
ejemplo de Diccionario para guardar pares
clave-valor
● Las preferencias permiten guardar tipos
primitivos
● Podemos gestionar preferencias con
PreferenceActivity