Opciones de almacenamiento

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Rocket clouds
Opciones de almacenamiento por Mind Map: Opciones de almacenamiento

1. INTRODUCCION

1.1. Android proporciona varias opciones para guardar datos persistentes de aplicaciones.

1.2. La solución a elegir dependerá de las necesidades específicas:

1.2.1. * Los datos deben ser privados a la aplicación o accesibles a otras aplicaciones.

1.2.2. * La cantidad de espacio que la data requiere.

1.3. Opciones de almacenamiento de datos son las siguientes:

1.3.1. Shared Preferences

1.3.1.1. Almacenar datos primitivos privados en pares clave-valor.

1.3.2. Internal Storage

1.3.2.1. Almacenar datos privados en la memoria del dispositivo.

1.3.3. External Storage

1.3.3.1. Almacenar datos públicos en almacenamiento externo compartido.

1.3.4. SQLite Dabatases

1.3.4.1. Almacenar información estructurada en una base de datos privada.

1.3.5. Network Connection

1.3.5.1. Almacenar datos en la web en un servidor de red propio.

1.4. Android proporciona una manera para exponer incluso datos privados a otras aplicaciones - con un proveedor de contenido.

1.4.1. Un proveedor de contenido es

1.4.1.1. Un componente opcional que expone acceso de lectura/escritura a datos de nuestra aplicación, sujeto a cualquier restricción que deseemos imponer.

2. Usando External Storage

2.1. Obtener Acceso al almacenamiento externo

2.1.1. READ_EXTERNAL_STORAGE o WRITE_EXTERNAL_STORAGE.

2.2. Chequeando la disponibilidad de medios

2.2.1. Se debe llamar a getExternalStorageState() para comprobar si el medio está disponible

2.2.2. El método getExternalStorageState() devuelve otros estados que se podrían comprobar, como por ejemplos si el medio esta siendo compartido(conectado a un ordenador), no se encuentra en su totalidad, se ha removido incorrectamente, etc.

2.3. Grabando archivos que pueden ser compartidos con otras aplicaciones

2.3.1. Los nuevos archivos que el usuario puede adquirir a través de la aplicación deben ser guardados en una ubicación "pública", como Music/, Pictures/ y Rintones/

2.3.2. Se usa getExternalStoragePublicDirectory(), pasándole el tipo de directorio que se desea, como DIRECTORY_MUSIC, DIRECTORY_PICTURES, DIRECTORY_RINGTONES, u otros.

2.4. Guardando archivos que son privados a la aplicación

2.4.1. Texturas gráficos o efectos de sonido utilizados solamente por la aplicación deben utilizar un almacenamiento privado con getExternalFilesDir()

2.4.2. Desde android 4.4 en adelante no se require los permisos los permisos READ_EXTERNAL_STORAGE o WRITE_EXTERNAL_STORAGE

2.4.3. Un dispositivo tiene asignado una partición de la memoria interna para su uso como almacenamiento externo puede ofrecer una ranura para tarjetas sd.

2.5. Guardando archivos en chaché

2.5.1. Un File que representa el directorio de almacenamiento externo se debe llamar con getExternalCacheDir()

2.5.2. También se puede acceder a un directorio de caché en un almacenamiento externo secundario llamando a ContextCompat.getExternalCacheDirs()

2.6. Los archivos guardados en el almacenamiento externo son leidos por cualquier usuario

3. USANDO SHARED PREFERENCES

3.1. Proporciona

3.1.1. un framework general que permite grabar y recuperar pares clave-valor persistentes de tipos de datos primitivos.

3.2. Se puede usar

3.2.1. SharedPreferences para guardar algún tipo de dato primitivo: booleans, floats, ints, longs, y strings.

3.3. Para obtener objetos

3.3.1. SharedPreferences para la aplicación, se debe usar los siguientes métodos:

3.3.1.1. * getSharedPreferences()

3.3.1.1.1. Se usa este método si se necesita múltiples archivos de preferencias identificados por nombre, el cual se especifica con el primer parámetro.

3.3.1.2. * getPreferences()

3.3.1.2.1. Se usa este método si se necesita solo un archivo de preferencias para la Actividad. Debido a que este será el único archivo de preferencias para la actividad, no se proporciona un nombre.

3.4. Para escribir valores

3.4.1. * Llamar a edit() para obtener un SharedPreferences.Editor.

3.4.2. * Agregar valores con métodos como putBoolean() y putString().

3.4.3. * Confirmar los nuevos valores con commit().

3.5. Para leervalores

3.5.1. Usa los métodos de SharedPreferences como getBoolean() y getString().

4. Usando Database

4.1. Provee soporte completo para base de datos SQLite

4.1.1. las bases de datos creadas seran accesibles a través de su nombre desde alguna clase de la aplicación, pero no fuera de esta

4.1.2. El método recomendado en una nueva base de datos en SQLite es crear la sublcase de SQliteOpenHelper Y sobrescribir el método onCreate()

4.1.2.1. ejemplo

4.1.2.1.1. public class DictionaryOpenHelper extends SQLliteOpenHelper

4.1.2.2. Acontinuación

4.1.2.2.1. Se puede obtener una instancia de la implmentación SQLiteOpenHelper utilizando el contructor que se haya definido

4.1.2.2.2. Para escribir y leer desde la base de datos se llama a los métodos

4.1.2.2.3. Estos métodos devuelven un objeto SQLiteDatabase que representa la base de datos y proporciona métodos para las operaciones SQLite

4.1.2.3. Cada consulta SQLite devolvera un cursor que apunta a todas las filas encontradas por la consulta

4.1.2.3.1. EL cursor es siempre el mecanismo con el que se puede navegar en los resultados de una consulta de datos y leer filas y columnas

4.2. Depuración (DEBUGGING) de base de datos

4.2.1. EL SDK inclye una heramienta de base de datos "sqlite3" que permite navegar por el contenido de las tablas, ejecutar comandos SQL y realizar otras funciones útiles en BD.

5. USANDO INTERNAL STORAGE

5.1. Guarda

5.1.1. Archivos directamente en el almacenamiento interno del dispositivo.

5.2. Por defecto

5.2.1. los archivos guardados en la memoria interna son privados a una aplicación y otras aplicaciones no pueden acceder a ellos (ni el usuario).

5.3. crear y escribir un archivo privado al almacenamiento interno:

5.3.1. * Llamara al método openFileOutput() con el nombre del archivo y el modo de operación. Esto retorna un FileOutputStream.

5.3.2. * Escribir al archivo con write().

5.3.3. * Cerrar el flujo con close().

5.4. Los modos de operación disponibles son:

5.4.1. * MODE_PRIVATE

5.4.1.1. Reemplazar un archivo del mismo nombre) y lo convierte en privado para la aplicación.

5.4.2. * MODE_APPEND

5.4.3. * MODE_WORLD_READABLE

5.4.4. * MODE_WORLD_WRITABLE.

5.5. Leer un archivo desde el almacenamiento interno.

5.5.1. * Llamara al método openFileInput() y pasarle el nombre del archivo a leer. Esto retorna un FileInputStream.

5.5.2. * Leer bytes desde el archivo con read().

5.5.3. * Luego cerrar el flujo con close().

5.6. Guardar una archivo estático

5.6.1. En la aplicación en tiempo de compilación, grabar el archivo en el directorio res/raw del proyecto.

5.6.2. Se puede abrir este archivo

5.6.2.1. con openRawResource(), pasándole como parámetro el ID del recurso R.raw.<filename>.

5.6.3. Este método retorna

5.6.3.1. Uuna InputStream que se puede usar para leer el archivo (pero no se puede escribir al archivo original).

5.7. GUARDANDO ARCHIVOS DE CACHE

5.7.1. Si se desea almacenar en caché alguna data, en lugar de almacenarla persistentemente

5.7.1.1. se debe utilizar getCacheDir() para abrir un archivo que representa el directorio interno donde la aplicación debe guardar los archivos de caché temporales.

5.7.2. No se debe confiar en el sistema para limpiar estos archivos.

5.8. OTROS METODOS UTILIES

5.8.1. * getFilesDir()

5.8.1.1. Obtiene la ruta absoluta del directorio del sistema de archivos donde se guardan los archivos internos.

5.8.2. * getDir()

5.8.2.1. Crea (o abre un existente) directorio dentro del espacio de almacenamiento interno.

5.8.3. * deleteFile()

5.8.3.1. * Eliminar un archivo gravado en el almacenamiento interno.

5.8.4. * fileList()

5.8.4.1. * Devuelve una matriz de archivos actualmente guardados por la aplicación.

6. Usando una network connection

6.1. Se puede utilizar la red para almacenar y recuperar datos sobre servicios basados en web

6.1.1. Se utiliza los siguientes paquetes

6.1.1.1. java.net

6.1.1.2. android.net

7. Integrantes: -Villacorta Ramírez, Jhonathan. -Chilon Vargas, Freddy. -Rabanal Sangay, Jhan Pierd.