Trabajando con datos
En este capitulo abarcaremos los siguientes temas:
Almacenamiento de datos simples
Leer y escribir un archivo de texto en el almacenamiento interno
Leer y escribir un archivo de texto en un almacenamiento externo
Incluyendo achivos de recursos en su proyectoCreación y uso de una base de datos SQLite
Acceder a los datos en el Backgraund usando un cargador
Casi toda aplicación, sea grande o pequeña, requiere guardar algún tipo de dato, Android ofrece muchas opciones. Desde guardar un valor simple hasta crear bases de datos completas utilizando SQLite.
- Las opciones almacenamiento son las siguientes:
- Preferencias compartidas: nombres sencillos / valores pares
- Almacenamiento interno: archivos de datos en almacenamiento privado
- Almacenamiento externo: archivos de datos en almacenamiento público o privado
- Base de datos SQLite: los datos privados pueden ser expuestos atravez de un proveedor de contenidos
- Almacenamiento en nube: servidor privado o proveedor de servicios
Existen ventajas y desventajas al usar almacenaje interno y externo. Vamos a enumerar algunas de las diferencias aquí para ayudar a decidir si utilizar almacenamiento interno o externo:
Almacenamiento interno:
- A diferencia del almacenamiento externo, el almacenamiento interno siempre está disponible, pero generalmente tiene menos espacio libre
- Los archivos no son accesibles para el usuario (a menos que el dispositivo tenga acceso root)
- Los archivos se eliminan automáticamente cuando la aplicación no está incluida.
Almacenamiento externo:
- El dispositivo puede no tener almacenamiento externo o puede ser inaccesible (como cuando está conectado a una computadora)
- Los archivos son accesibles para el usuario (y otras aplicaciones) sin necesidad de acceso root.
- Los archivos no se eliminan cuando se desinstala la aplicación (a menos que utilice GetExternalFilesDir () para obtener almacenamiento público específico de la aplicación).
En este capítulo, demostraremos trabajar con preferencias compartidas, internas y externas Almacenamiento y bases de datos SQLite. Para el almacenamiento en la nube, eche un vistazo a las recetas de Internet del Capítulo 12, Telefonía, Redes y Proveedores de servicios web y en línea en el Capítulo 15, Backend como un opciones de servicio.
Almacenamiento de datos sencillo
Es un requisito común para almacenar datos sencillos, y Android facilita el uso de la API de preferencias. No se limita sólo a las preferencias del usuario; Puede almacenar cualquiera de los tipos de datos primitivos usando un nombre / valor par.
Vamos a demostrar como guardar un nombre de un EditText y mostrarlo cuando inicie la aplicación. La siguiente captura de pantalla muestra cómo se ve la aplicación la primera vez sin guardar Nombre y, a continuación, en el inicio, después de que un nombre se guarda.
Preparándose
Para comenzar crearemos un nuevo proyecto en Android Studio y lo llamaremos “Preferencias”, use el valor pre determinado Phone & Tablety seleccionaremos Empty Activity cuando se solicite tipo de actividad.
Cómo hacerlo
Usaremos TextView para mostrar un mensaje de bienvenida nuevamente y crear un nuevo Botón EditText para guardar el nombre,para esto abriremos en primera instancia activity_main.xml:
- En este primer paso editaremos el TextView y agregue las siguientes vistas:
2.Ahora procedemos a abrir el ActivityMain.java y agregamos las siguiente declaración global:
3.Vamos a añadir el código a onCreate() que va a guardar una referencia al EditTextpara que cargue cualquier nombre guardado:
4.En este paso agregaremos el método saveName():