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