tema 4.8 preferencias

28
Análisis y Diseño de Software Departamento de Ingeniería de Sistemas Telemáticos http://moodle.dit.upm.es Preferencias Carlos A. Iglesias <[email protected]> v1.0 22/04/2013

Upload: carlos-a-iglesias

Post on 20-May-2015

333 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tema 4.8 Preferencias

Análisis y Diseño de Software

Departamento de Ingeniería de Sistemas Telemáticoshttp://moodle.dit.upm.es

Preferencias

Carlos A. Iglesias <[email protected]>

v1.0 22/04/2013

Page 2: Tema 4.8 Preferencias

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

Page 3: Tema 4.8 Preferencias

Preferencias 3

Teoría

Ejercicio práctico en el ordenador

Ampliación de conocimientos

Lectura / Vídeo / Podcast

Práctica libre / Experimentación

Leyenda

Page 4: Tema 4.8 Preferencias

Preferencias 4

● Android Developers

Bibliografía

http://developer.android.com/training/basics/data-storage/shared-preferences.htmlhttp://developer.android.com/guide/topics/data/data-storage.html#pref

http://developer.android.com/guide/topics/ui/settings.html

Page 5: Tema 4.8 Preferencias

Preferencias 5

Objetivos

● Aprender a hacer aplicaciones que tienen configuración de los usuarios

● Aprender el uso de preferencias

Page 6: Tema 4.8 Preferencias

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, ...)

Page 7: Tema 4.8 Preferencias

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

Page 8: Tema 4.8 Preferencias

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.

Page 9: Tema 4.8 Preferencias

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

Page 10: Tema 4.8 Preferencias

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

Page 11: Tema 4.8 Preferencias

Preferencias 11

Leer Preferencias

● En el objeto SharedPreferences, usar– getBoolean()– getString()– getInt()– getFloat()– getLong()

Page 12: Tema 4.8 Preferencias

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()

Page 13: Tema 4.8 Preferencias

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

Page 14: Tema 4.8 Preferencias

Preferencias 14

Ejemplo EjemploPreferencias

Page 15: Tema 4.8 Preferencias

Preferencias 15

EjemploPreferencias

Page 16: Tema 4.8 Preferencias

Preferencias 16

EjemploPreferencias

Page 17: Tema 4.8 Preferencias

Preferencias 17

Recurso mis_preferencias.xml

● Proyecto o fichero New->Android XML File

Page 18: Tema 4.8 Preferencias

Preferencias 18

Preferencias

Nombre variable

Texto para el usuario

Ayuda para que lo rellene

Page 19: Tema 4.8 Preferencias

Preferencias 19

Vista xml

Page 20: Tema 4.8 Preferencias

Preferencias 20

Lista de valores

● En res/values y usando string-array

Page 21: Tema 4.8 Preferencias

Preferencias 21

PreferenciasActivity

● Crea el menú de preferencias, lo rellena a partir de los valores guardados y lo almacena cuando damos atrás

Page 22: Tema 4.8 Preferencias

Preferencias 22

MainActivity (I)

Page 23: Tema 4.8 Preferencias

Preferencias 23

MainActivity (II)

Page 24: Tema 4.8 Preferencias

Preferencias 24

MainActivity (III)

Page 25: Tema 4.8 Preferencias

Preferencias 25

MainActivity (IV)

Page 26: Tema 4.8 Preferencias

Preferencias 26

MainActivity (V)

Page 27: Tema 4.8 Preferencias

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

Page 28: Tema 4.8 Preferencias

Preferencias 28

¿Preguntas?