SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
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
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
Preferencias 3
Teoría
Ejercicio práctico en el ordenador
Ampliación de conocimientos
Lectura / Vídeo / Podcast
Práctica libre / Experimentación
Leyenda
Preferencias 4
● Android Developers
Bibliografía
http://developer.android.com/training/basics/data-storage/shared-preferences.html
http://developer.android.com/guide/topics/data/data-storage.html#pref
http://developer.android.com/guide/topics/ui/settings.html
Preferencias 5
Objetivos
● Aprender a hacer aplicaciones que tienen
configuración de los usuarios
● Aprender el uso de 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, ...)
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
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.
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
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
Preferencias 11
Leer Preferencias
● En el objeto SharedPreferences, usar
– getBoolean()
– getString()
– getInt()
– getFloat()
– getLong()
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()
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
Preferencias 14
Ejemplo EjemploPreferencias
Preferencias 15
EjemploPreferencias
Preferencias 16
EjemploPreferencias
Preferencias 17
Recurso
mis_preferencias.xml
● Proyecto o fichero New->Android XML File
Preferencias 18
Preferencias
Nombre variable
Texto para el usuario
Ayuda para
que lo rellene
Preferencias 19
Vista xml
Preferencias 20
Lista de valores
● En res/values y usando string-array
Preferencias 21
PreferenciasActivity
● Crea el menú de preferencias, lo rellena a
partir de los valores guardados y lo
almacena cuando damos atrás
Preferencias 22
MainActivity (I)
Preferencias 23
MainActivity (II)
Preferencias 24
MainActivity (III)
Preferencias 25
MainActivity (IV)
Preferencias 26
MainActivity (V)
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
Preferencias 28
¿Preguntas?

Weitere ähnliche Inhalte

Ähnlich wie Tema 4.8 Preferencias

[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10Keopx
 
Tema 4.2 Desarrollo Android e instalacion
Tema 4.2 Desarrollo Android e instalacionTema 4.2 Desarrollo Android e instalacion
Tema 4.2 Desarrollo Android e instalacionCarlos A. Iglesias
 
MobileCONGalicia Introducción a Android
MobileCONGalicia Introducción a AndroidMobileCONGalicia Introducción a Android
MobileCONGalicia Introducción a AndroidAlberto Ruibal
 
Desarrollos Open edX Edunext
Desarrollos Open edX EdunextDesarrollos Open edX Edunext
Desarrollos Open edX EdunextMario Solarte
 
Plugins para la extensión de Open edX.pptx
Plugins para la extensión de Open edX.pptxPlugins para la extensión de Open edX.pptx
Plugins para la extensión de Open edX.pptxMario Solarte
 
Tipos de almacenamiento android básico sesion2
Tipos de almacenamiento android básico sesion2Tipos de almacenamiento android básico sesion2
Tipos de almacenamiento android básico sesion2www.mentoringit.com.mx
 
Introducción a DSpace - Universidad Nacional del Altiplano, Puno
Introducción a DSpace - Universidad Nacional del Altiplano, PunoIntroducción a DSpace - Universidad Nacional del Altiplano, Puno
Introducción a DSpace - Universidad Nacional del Altiplano, PunoElwin Huaman
 
J!D Barcelona 2009 - Taller Plantillas Avanzado
J!D Barcelona 2009 - Taller Plantillas AvanzadoJ!D Barcelona 2009 - Taller Plantillas Avanzado
J!D Barcelona 2009 - Taller Plantillas AvanzadoSergioIglesiasNET
 
Migrando un módulo Field Formatter a Drupal 8
Migrando un módulo Field Formatter a Drupal 8Migrando un módulo Field Formatter a Drupal 8
Migrando un módulo Field Formatter a Drupal 8Franco Cedillo
 
Inciación a Drupal 8
Inciación a Drupal 8Inciación a Drupal 8
Inciación a Drupal 8Julian Valero
 

Ähnlich wie Tema 4.8 Preferencias (20)

Tema 4.3 Ejemplo sobre teleco
Tema 4.3 Ejemplo sobre telecoTema 4.3 Ejemplo sobre teleco
Tema 4.3 Ejemplo sobre teleco
 
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
 
Presentacion ODK
Presentacion ODKPresentacion ODK
Presentacion ODK
 
Tema 4 0_interfaces_moviles
Tema 4 0_interfaces_movilesTema 4 0_interfaces_moviles
Tema 4 0_interfaces_moviles
 
Tema 4.2 Desarrollo Android e instalacion
Tema 4.2 Desarrollo Android e instalacionTema 4.2 Desarrollo Android e instalacion
Tema 4.2 Desarrollo Android e instalacion
 
MobileCONGalicia Introducción a Android
MobileCONGalicia Introducción a AndroidMobileCONGalicia Introducción a Android
MobileCONGalicia Introducción a Android
 
Tema
Tema Tema
Tema
 
Desarrollos Open edX Edunext
Desarrollos Open edX EdunextDesarrollos Open edX Edunext
Desarrollos Open edX Edunext
 
Plugins para la extensión de Open edX.pptx
Plugins para la extensión de Open edX.pptxPlugins para la extensión de Open edX.pptx
Plugins para la extensión de Open edX.pptx
 
Tipos de almacenamiento android básico sesion2
Tipos de almacenamiento android básico sesion2Tipos de almacenamiento android básico sesion2
Tipos de almacenamiento android básico sesion2
 
Introducción a DSpace - Universidad Nacional del Altiplano, Puno
Introducción a DSpace - Universidad Nacional del Altiplano, PunoIntroducción a DSpace - Universidad Nacional del Altiplano, Puno
Introducción a DSpace - Universidad Nacional del Altiplano, Puno
 
Moodle
MoodleMoodle
Moodle
 
J!D Barcelona 2009 - Taller Plantillas Avanzado
J!D Barcelona 2009 - Taller Plantillas AvanzadoJ!D Barcelona 2009 - Taller Plantillas Avanzado
J!D Barcelona 2009 - Taller Plantillas Avanzado
 
¡This is drupal!
¡This is drupal!¡This is drupal!
¡This is drupal!
 
Data storage
Data storageData storage
Data storage
 
Migrando un módulo Field Formatter a Drupal 8
Migrando un módulo Field Formatter a Drupal 8Migrando un módulo Field Formatter a Drupal 8
Migrando un módulo Field Formatter a Drupal 8
 
Implementação de serviços nacionais e estratégias institucionais para a Gestã...
Implementação de serviços nacionais e estratégias institucionais para a Gestã...Implementação de serviços nacionais e estratégias institucionais para a Gestã...
Implementação de serviços nacionais e estratégias institucionais para a Gestã...
 
Introducción TEWC
Introducción TEWCIntroducción TEWC
Introducción TEWC
 
Inciación a Drupal 8
Inciación a Drupal 8Inciación a Drupal 8
Inciación a Drupal 8
 
Fis 4 2
Fis 4 2Fis 4 2
Fis 4 2
 

Mehr von Carlos A. Iglesias (20)

GSI Research Group Presentation
GSI Research Group PresentationGSI Research Group Presentation
GSI Research Group Presentation
 
Entorno PHP
Entorno PHPEntorno PHP
Entorno PHP
 
Bootstrap 3.
Bootstrap 3.Bootstrap 3.
Bootstrap 3.
 
Introducción CSS
Introducción CSSIntroducción CSS
Introducción CSS
 
Introducción HTML
Introducción HTMLIntroducción HTML
Introducción HTML
 
Presentación TEWC
Presentación TEWCPresentación TEWC
Presentación TEWC
 
UPM GSI Presentation
UPM GSI PresentationUPM GSI Presentation
UPM GSI Presentation
 
Introducción Análisis y Diseño
Introducción Análisis y DiseñoIntroducción Análisis y Diseño
Introducción Análisis y Diseño
 
PHP. Bases de Datos
PHP. Bases de DatosPHP. Bases de Datos
PHP. Bases de Datos
 
PHP. Tecnologías Web.
PHP. Tecnologías Web.PHP. Tecnologías Web.
PHP. Tecnologías Web.
 
1 intro php
1 intro php1 intro php
1 intro php
 
0 entorno php
0 entorno php0 entorno php
0 entorno php
 
Tema 4.1 Introduccion Android
Tema 4.1 Introduccion AndroidTema 4.1 Introduccion Android
Tema 4.1 Introduccion Android
 
Tema 4.4 Actividades
Tema 4.4 ActividadesTema 4.4 Actividades
Tema 4.4 Actividades
 
Tema 4.5 interfaces
Tema 4.5 interfacesTema 4.5 interfaces
Tema 4.5 interfaces
 
Tema 4.7 Acceso a datos
Tema 4.7 Acceso a datosTema 4.7 Acceso a datos
Tema 4.7 Acceso a datos
 
Tema 4.9 Hebras
Tema 4.9 HebrasTema 4.9 Hebras
Tema 4.9 Hebras
 
Gestion de Ideas
Gestion  de IdeasGestion  de Ideas
Gestion de Ideas
 
Tema 2 Diccionarios. Tablas Hash.
Tema 2 Diccionarios. Tablas Hash.Tema 2 Diccionarios. Tablas Hash.
Tema 2 Diccionarios. Tablas Hash.
 
Tema 2 diccionarios_grupo_23
Tema 2 diccionarios_grupo_23Tema 2 diccionarios_grupo_23
Tema 2 diccionarios_grupo_23
 

Tema 4.8 Preferencias