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

dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
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
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
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
 
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
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
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
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 

Último (20)

dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
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
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
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
 
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...
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
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
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 

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