SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
Android
Tipos de Almacenamiento
Nivel básico
www.mentoringit.com.mx
• SharedPreferences
• Archivos (texto o datos binarios)
• SQLite
Tipos de almacenamiento soportado en Android
www.mentoringit.com.mx
• Los SharedPreferences se pueden crear en código Java o desde
una PreferenceActivity.
• Datos escritos por clave – valor.
• La clave siempre es una cadena (String).
• El valor puede ser cualquiera de los siguientes tipos:
boolean, int, long, float, String, Set<String>
• Datos no encriptados y se almacenan como XML’s.
• Pueden ser eliminados del dispositivo por el usuario de la
aplicación.
Shared Preferences
www.mentoringit.com.mx
SharedPreferences con Java
• En java existe la clase SharedPreferences que representa una
forma de acceso a datos de tipo Preference.
• Siempre se debe especificar el modo en el que se recuperarán
los datos con SharedPreferences.
• MODE_PRIVATE (indica que los datos de este objeto serán accesibles únicamente al nivel de esta aplicación).
• MODE_WORLD_WRITABLE (permite que los datos sean accesibles desde cualquier aplicación)
• Utilizando SharedPreferences en Activities.
// para poder utilizar el dato en el activitie actual
• private SharedPreferences settings = getSharedPreferences(Context.MODE_PRIVATE);
// para poder utilizar el dato en cualquier actividad en la aplicacion
• private SharedPreferences settings = getSharedPreferences(C”pref_name”,ontext.MODE_PRIVATE);
www.mentoringit.com.mx
SharedPreferences con Activity
• PreferenceActivity es la actividad base para almacenar datos
tipo SharedPreference mediante activities.
• PreferenceActivity permite crear y almacenar automáticamente datos de tipo SharedPreference.
• Los datos creados de esta forma están disponibles en toda la aplicación por lo tanto no se requiere de un
preference name.
• Tipos de datos mas restringidos: boolean , String o listas de Strings.
• Recordemos que los activities son pantallas, debemos asociar un archivo layout donde se crearán los componentes
gráficos que permitirán al usuario ingresar o leer los datos.
• La navegación en los PreferencenActivity es a través de Intent como se hace con cualquier Activity.
www.mentoringit.com.mx
Almacenamiento por archivos
• Clase File.
• Utilizamos File para crear archivos y directorios en Android, recordemos que las aplicaciones para Android se
programan en Java.
• Clase FileOutputStream.
• Permite escribir un flujo de datos a un archivo, si el archivo existe éste puede ser reemplazado o en su defecto
agregar datos. Si el archivo no existe uno nuevo será creado.
• Clase FileInputStream.
• Permite leer datos de un archivo en forma de bytes.
www.mentoringit.com.mx
Datos en formato Json y XML
• Clase JSONArray.
• Es un arreglo dinámico que permite almacenar datos para luego poder serializarlos y convertirlos a datos en
formato JSON. Los datos almacenados son de tipo JSONObject.
• Clase JSONObject.
• Es un objeto dinámico que implementa a la interfaz Map, esto le da la capacidad de almacenar datos por clave –
valor.
• XmlPullParserFactory y XmlPullParser (sdk).
• XMLPullParserFactory crea parsers y define configuraciónes para su funcionamiento.
• XMLPullParser obtiene una referencia del parser anteriormente creado para ser utilizado.
• JDOM
• Es una alternativa a XMLPullParser por jdom.org
• Es open source.
• Menor cantidad de código para el parseo de documentos.
www.mentoringit.com.mx
Almacenando datos con SQLite
• Es un motor de base de datos relacionales open source.
• Android SDK proporciona laAPI de acceso a datos.
• El paquete donde se encuentran las clases e interfaces que nos permiten interactuar con SQLite están
en el paquete android.database.sqlite
• http://www.sqlite.org
• Almacenamiento de datos fuertemente tipados.
• A diferencia de SharedPreferences, SQLite tiene soporte de almacenamiento para mas variantes
de tipos de datos (NULL, INTEGER, REAL,TEXT, BLOB).
• Modelo Entidad – Relación.
• SQLite permite almacenar datos en varias tablas y realizar JOINS.
• Maneja un solo archivo que es almacenado en el dispositivo.
www.mentoringit.com.mx
Conclusión
• El almacenamiento de datos para aplicaciones móviles
es un tema que debemos analizar detenidamente, recordemos
que los recursos con los que disponemos son limitados.
La mejor forma de almacenar datos con nuestra aplicación
dependerá mucho de las necesidades del usuario final.
Solo recordemos que existen limitantes entre una forma y otra,
por ejemplo no guardaremos usuarios ni contraseñas con
SharedPreferences pues estos datos no se encriptan y pueden ser
borrados fácilmente por el usuario de la aplicación.
www.mentoringit.com.mx
Fin
www.mentoringit.com.mx

Más contenido relacionado

La actualidad más candente (20)

Comandos básicos para bases de datos mysql y workbench
Comandos básicos para bases de datos mysql y workbenchComandos básicos para bases de datos mysql y workbench
Comandos básicos para bases de datos mysql y workbench
 
Objeto ado.net
Objeto ado.netObjeto ado.net
Objeto ado.net
 
Base de datos
Base de datosBase de datos
Base de datos
 
Ado.net
Ado.netAdo.net
Ado.net
 
Ado.Net
Ado.NetAdo.Net
Ado.Net
 
Ado.net
Ado.netAdo.net
Ado.net
 
8. Acceso A Datos Con Microsoft Ado.Net
8.  Acceso A Datos Con Microsoft Ado.Net8.  Acceso A Datos Con Microsoft Ado.Net
8. Acceso A Datos Con Microsoft Ado.Net
 
Conceptos basicos mysql
Conceptos basicos mysqlConceptos basicos mysql
Conceptos basicos mysql
 
Lab archivos
Lab archivosLab archivos
Lab archivos
 
Weka (pentaho data mining)
Weka (pentaho data mining)Weka (pentaho data mining)
Weka (pentaho data mining)
 
Clase viii
Clase viiiClase viii
Clase viii
 
Persistencia en Java - Serialización
Persistencia en Java - SerializaciónPersistencia en Java - Serialización
Persistencia en Java - Serialización
 
Comandos básicos para bases de datos mysql y
Comandos básicos para bases de datos mysql yComandos básicos para bases de datos mysql y
Comandos básicos para bases de datos mysql y
 
Bases de Datos en Java - Intro a Hibernate
Bases de Datos en Java - Intro a HibernateBases de Datos en Java - Intro a Hibernate
Bases de Datos en Java - Intro a Hibernate
 
Jpa
JpaJpa
Jpa
 
desarrollo en 3 capas VB
desarrollo en 3 capas VBdesarrollo en 3 capas VB
desarrollo en 3 capas VB
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Ado.net
Ado.netAdo.net
Ado.net
 
screencast y bases de datos
screencast y bases de datos screencast y bases de datos
screencast y bases de datos
 
Karen alejandra corredo rfff
Karen alejandra corredo rfffKaren alejandra corredo rfff
Karen alejandra corredo rfff
 

Similar a Tipos de almacenamiento android básico sesion2

11-Unidad 2: Aplicaciones Windows Forms-2.3 Ado-net
11-Unidad 2: Aplicaciones Windows Forms-2.3 Ado-net11-Unidad 2: Aplicaciones Windows Forms-2.3 Ado-net
11-Unidad 2: Aplicaciones Windows Forms-2.3 Ado-netLuis Fernando Aguas Bucheli
 
11- Unidad 2: Aplicaciones Windows Forms- 2.3 Acceso a datos Adonet
11- Unidad 2: Aplicaciones Windows Forms- 2.3 Acceso a datos Adonet11- Unidad 2: Aplicaciones Windows Forms- 2.3 Acceso a datos Adonet
11- Unidad 2: Aplicaciones Windows Forms- 2.3 Acceso a datos AdonetLuis Fernando Aguas Bucheli
 
Persistencia de datos en Java
Persistencia de datos en JavaPersistencia de datos en Java
Persistencia de datos en JavaIker Canarias
 
Manual hibernate
Manual hibernateManual hibernate
Manual hibernateshimbosan17
 
Persistencia de datos_hibernate_arquitecturas_de_software
Persistencia de datos_hibernate_arquitecturas_de_softwarePersistencia de datos_hibernate_arquitecturas_de_software
Persistencia de datos_hibernate_arquitecturas_de_softwareJose Luis Bugarin Peche
 
Tarea1 base de datos
Tarea1 base de datosTarea1 base de datos
Tarea1 base de datosIsrael
 
Tarea1 base de datos raquel jaramillo
Tarea1 base de datos raquel jaramilloTarea1 base de datos raquel jaramillo
Tarea1 base de datos raquel jaramilloRaquelitajaramillo
 
PD1_7moA_TS3_JavierLogroño.pptx
PD1_7moA_TS3_JavierLogroño.pptxPD1_7moA_TS3_JavierLogroño.pptx
PD1_7moA_TS3_JavierLogroño.pptxEddyJavierLogrooLen
 
Arquitectura N-Capas y ADo.NET
Arquitectura N-Capas y ADo.NETArquitectura N-Capas y ADo.NET
Arquitectura N-Capas y ADo.NETRoberto Taborda
 
Sistemas gestores de bases de datos unidad 1.
Sistemas gestores de bases de datos unidad 1.Sistemas gestores de bases de datos unidad 1.
Sistemas gestores de bases de datos unidad 1.Juan Anaya
 

Similar a Tipos de almacenamiento android básico sesion2 (20)

Flujos y archivos
Flujos y archivosFlujos y archivos
Flujos y archivos
 
Data storage
Data storageData storage
Data storage
 
11-Unidad 2: Aplicaciones Windows Forms-2.3 Ado-net
11-Unidad 2: Aplicaciones Windows Forms-2.3 Ado-net11-Unidad 2: Aplicaciones Windows Forms-2.3 Ado-net
11-Unidad 2: Aplicaciones Windows Forms-2.3 Ado-net
 
11- Unidad 2: Aplicaciones Windows Forms- 2.3 Acceso a datos Adonet
11- Unidad 2: Aplicaciones Windows Forms- 2.3 Acceso a datos Adonet11- Unidad 2: Aplicaciones Windows Forms- 2.3 Acceso a datos Adonet
11- Unidad 2: Aplicaciones Windows Forms- 2.3 Acceso a datos Adonet
 
Persistence
PersistencePersistence
Persistence
 
Sgb dantony
Sgb dantonySgb dantony
Sgb dantony
 
Persistencia de datos en Java
Persistencia de datos en JavaPersistencia de datos en Java
Persistencia de datos en Java
 
Manual hibernate
Manual hibernateManual hibernate
Manual hibernate
 
Base De Datos Orientada A Objetos
Base De Datos Orientada A ObjetosBase De Datos Orientada A Objetos
Base De Datos Orientada A Objetos
 
Persistencia de datos_hibernate_arquitecturas_de_software
Persistencia de datos_hibernate_arquitecturas_de_softwarePersistencia de datos_hibernate_arquitecturas_de_software
Persistencia de datos_hibernate_arquitecturas_de_software
 
Curso avanzado de capacitación en DSpace
Curso avanzado de capacitación en DSpaceCurso avanzado de capacitación en DSpace
Curso avanzado de capacitación en DSpace
 
Bases de datos orientadas a objetos
Bases de datos orientadas a objetosBases de datos orientadas a objetos
Bases de datos orientadas a objetos
 
Orm presentación final
Orm presentación finalOrm presentación final
Orm presentación final
 
DB4O + BIRT
DB4O + BIRTDB4O + BIRT
DB4O + BIRT
 
Tarea1 base de datos
Tarea1 base de datosTarea1 base de datos
Tarea1 base de datos
 
Tarea1 base de datos raquel jaramillo
Tarea1 base de datos raquel jaramilloTarea1 base de datos raquel jaramillo
Tarea1 base de datos raquel jaramillo
 
PD1_7moA_TS3_JavierLogroño.pptx
PD1_7moA_TS3_JavierLogroño.pptxPD1_7moA_TS3_JavierLogroño.pptx
PD1_7moA_TS3_JavierLogroño.pptx
 
Arquitectura N-Capas y ADo.NET
Arquitectura N-Capas y ADo.NETArquitectura N-Capas y ADo.NET
Arquitectura N-Capas y ADo.NET
 
B bases de datos
B bases de datosB bases de datos
B bases de datos
 
Sistemas gestores de bases de datos unidad 1.
Sistemas gestores de bases de datos unidad 1.Sistemas gestores de bases de datos unidad 1.
Sistemas gestores de bases de datos unidad 1.
 

Más de www.mentoringit.com.mx (9)

Android desarrollo de aplicaciones nivel básico 1
Android desarrollo de aplicaciones nivel básico 1Android desarrollo de aplicaciones nivel básico 1
Android desarrollo de aplicaciones nivel básico 1
 
Json
JsonJson
Json
 
Java desde cero maven
Java desde cero mavenJava desde cero maven
Java desde cero maven
 
Java desde cero string, string builder y string buffer
Java desde cero string, string builder y string bufferJava desde cero string, string builder y string buffer
Java desde cero string, string builder y string buffer
 
excepciones en java
excepciones en javaexcepciones en java
excepciones en java
 
constructores en java
constructores en javaconstructores en java
constructores en java
 
Ordenando collections
Ordenando collectionsOrdenando collections
Ordenando collections
 
colecciones en java
colecciones en javacolecciones en java
colecciones en java
 
Java desde cero
Java desde ceroJava desde cero
Java desde cero
 

Último

Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 

Último (19)

Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 

Tipos de almacenamiento android básico sesion2

  • 1. Android Tipos de Almacenamiento Nivel básico www.mentoringit.com.mx
  • 2. • SharedPreferences • Archivos (texto o datos binarios) • SQLite Tipos de almacenamiento soportado en Android www.mentoringit.com.mx
  • 3. • Los SharedPreferences se pueden crear en código Java o desde una PreferenceActivity. • Datos escritos por clave – valor. • La clave siempre es una cadena (String). • El valor puede ser cualquiera de los siguientes tipos: boolean, int, long, float, String, Set<String> • Datos no encriptados y se almacenan como XML’s. • Pueden ser eliminados del dispositivo por el usuario de la aplicación. Shared Preferences www.mentoringit.com.mx
  • 4. SharedPreferences con Java • En java existe la clase SharedPreferences que representa una forma de acceso a datos de tipo Preference. • Siempre se debe especificar el modo en el que se recuperarán los datos con SharedPreferences. • MODE_PRIVATE (indica que los datos de este objeto serán accesibles únicamente al nivel de esta aplicación). • MODE_WORLD_WRITABLE (permite que los datos sean accesibles desde cualquier aplicación) • Utilizando SharedPreferences en Activities. // para poder utilizar el dato en el activitie actual • private SharedPreferences settings = getSharedPreferences(Context.MODE_PRIVATE); // para poder utilizar el dato en cualquier actividad en la aplicacion • private SharedPreferences settings = getSharedPreferences(C”pref_name”,ontext.MODE_PRIVATE); www.mentoringit.com.mx
  • 5. SharedPreferences con Activity • PreferenceActivity es la actividad base para almacenar datos tipo SharedPreference mediante activities. • PreferenceActivity permite crear y almacenar automáticamente datos de tipo SharedPreference. • Los datos creados de esta forma están disponibles en toda la aplicación por lo tanto no se requiere de un preference name. • Tipos de datos mas restringidos: boolean , String o listas de Strings. • Recordemos que los activities son pantallas, debemos asociar un archivo layout donde se crearán los componentes gráficos que permitirán al usuario ingresar o leer los datos. • La navegación en los PreferencenActivity es a través de Intent como se hace con cualquier Activity. www.mentoringit.com.mx
  • 6. Almacenamiento por archivos • Clase File. • Utilizamos File para crear archivos y directorios en Android, recordemos que las aplicaciones para Android se programan en Java. • Clase FileOutputStream. • Permite escribir un flujo de datos a un archivo, si el archivo existe éste puede ser reemplazado o en su defecto agregar datos. Si el archivo no existe uno nuevo será creado. • Clase FileInputStream. • Permite leer datos de un archivo en forma de bytes. www.mentoringit.com.mx
  • 7. Datos en formato Json y XML • Clase JSONArray. • Es un arreglo dinámico que permite almacenar datos para luego poder serializarlos y convertirlos a datos en formato JSON. Los datos almacenados son de tipo JSONObject. • Clase JSONObject. • Es un objeto dinámico que implementa a la interfaz Map, esto le da la capacidad de almacenar datos por clave – valor. • XmlPullParserFactory y XmlPullParser (sdk). • XMLPullParserFactory crea parsers y define configuraciónes para su funcionamiento. • XMLPullParser obtiene una referencia del parser anteriormente creado para ser utilizado. • JDOM • Es una alternativa a XMLPullParser por jdom.org • Es open source. • Menor cantidad de código para el parseo de documentos. www.mentoringit.com.mx
  • 8. Almacenando datos con SQLite • Es un motor de base de datos relacionales open source. • Android SDK proporciona laAPI de acceso a datos. • El paquete donde se encuentran las clases e interfaces que nos permiten interactuar con SQLite están en el paquete android.database.sqlite • http://www.sqlite.org • Almacenamiento de datos fuertemente tipados. • A diferencia de SharedPreferences, SQLite tiene soporte de almacenamiento para mas variantes de tipos de datos (NULL, INTEGER, REAL,TEXT, BLOB). • Modelo Entidad – Relación. • SQLite permite almacenar datos en varias tablas y realizar JOINS. • Maneja un solo archivo que es almacenado en el dispositivo. www.mentoringit.com.mx
  • 9. Conclusión • El almacenamiento de datos para aplicaciones móviles es un tema que debemos analizar detenidamente, recordemos que los recursos con los que disponemos son limitados. La mejor forma de almacenar datos con nuestra aplicación dependerá mucho de las necesidades del usuario final. Solo recordemos que existen limitantes entre una forma y otra, por ejemplo no guardaremos usuarios ni contraseñas con SharedPreferences pues estos datos no se encriptan y pueden ser borrados fácilmente por el usuario de la aplicación. www.mentoringit.com.mx