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

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
Robedgar MX
 
Objeto ado.net
Objeto ado.netObjeto ado.net
Objeto ado.net
barby1820
 
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
guest3cf6ff
 

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

Manual hibernate
Manual hibernateManual hibernate
Manual hibernate
shimbosan17
 
Tarea1 base de datos raquel jaramillo
Tarea1 base de datos raquel jaramilloTarea1 base de datos raquel jaramillo
Tarea1 base de datos raquel jaramillo
Raquelitajaramillo
 

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 raquel jaramillo
Tarea1 base de datos raquel jaramilloTarea1 base de datos raquel jaramillo
Tarea1 base de datos raquel jaramillo
 
Tarea1 base de datos
Tarea1 base de datosTarea1 base de datos
Tarea1 base de datos
 
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

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (12)

EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 

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