Almacenamiento en Android



Documentos relacionados
Almacenamiento de datos. JOSE LUIS BERENGUEL GÓMEZ Febrero 2012

PRACTICAS DE ANDROID 12 - Lanzar un segundo "Activity" y pasar parámetros Problema:

Programación Android. Rafael Morón Abad

Persistencia. Mecanismos de persistencia. Preferencias. Curso 12/13

Curso 12/13. Desarrollo de Aplicaciones Android. Persistencia

Android Con Java. Ejercicio 2. Ciclo de Vida de las Actividades en Android. Ejercicio 2. Ciclo de Vida de las Actividades en Android

Programación Android. Rafael Morón Abad

Aplicación Android de Asistencia al Caminante

Ejercicio 20. SQLite en Android. Android Con Java. Ejercicio 20. Uso de SQLite en Android. Curso de Android con Java

Programación en Android LSUB, GSYC, URJC

Programación Orientada a Objetos con Java

Ejercicios - Persistencia en Android: proveedores de contenidos y SharedPreferences

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.

Desarrollo de una aplicación de cálculo de perfiles radioeléctricos para dispositivos móviles con sistema operativo Android

Capitulo 4: Componentes Android

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

TP Nº4 Android - SQLite Fecha Miércoles 2014/08/29 Profesor: Pablo Ulman (Polshu)

Pruebas de unidad con JUnit

Persistencia en Android: ficheros y SQLite

Curso PUDE. Desarrollo de Aplicaciones Móviles en Android

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

Ejercicios - Persistencia en Android: ficheros y SQLite

Sensores. JOSE LUIS BERENGUEL GÓMEZ Marzo 2012

Crear una Activity en Android. Paso por paso

Introducción al lenguaje Java

Java en 2 horas. Rodrigo Santamaría

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso Cuatrimestre de otoño. 17 de Enero de 2011

Java en 3 horas. Ampliación de Sistemas Operativos. Rodrigo Santamaría

Introducción a la Programación Orientada a Objetos

Android Creación de una aplicación sencilla: Forwarding - Página 1 -

Lenguajes de Programación Curso Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces Clases abstractas 2

Ejercicio 18. Configuración de Widgets en Android. Android Con Java. Ejercicio 18. Configuración de Widgets en Android. Curso de Android con Java

1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante)

3UiFWLFD. 3URJUDPDFLyQ-DYD

Ejercicio 4. Manejo de Layouts en Android. Android Con Java. Ejercicio 4. Manejo de Layouts en Android. Curso de Android con Java

MODELO DE IMPLEMENTACIÓN

El lenguaje de programación Java

Copia de Seguridad en windows

Solución al Examen de Prácticas de Programación (Ingeniería Informática)

Repaso de las características más importantes de la programación Java y su adaptación a Android

PSI Gestión es un sistema multiusuario que le permite 2 tipos de configuraciones:

INTRODUCCIÓN.

Curso de Java POO: Programación orientada a objetos

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

5. Crea un sitio Web seguro usando tu propio certificado digital (Windows y Linux).

class Nombre_Clase extends Nombre_SuperClase { cuerpo de la clase extendida }

Ejercicio: Mensajes Alert, Confirm y Prompt

Curso PUDE. Desarrollo de Aplicaciones Móviles en Android

Benemérita Universidad Autónoma del Estado de Puebla

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática

Dropbox. Parte 2. Práctica 02-ud03 15/01/2013 Pág. 1 de 6

Tema 3. Test Driven Development

Modulo 1 El lenguaje Java

Prof. Dr. Paul Bustamante

Ejecutar el instalador y seleccionar los paquetes necesarios. En nuestro caso son los siguientes: Android SDK Tools (ya vendrá instalado) Android SDK

Temas. CopyRight emmmnmmma - All rights reserved 2

TUTORIAL CREAR UNA CUENTA DE CORREO ELECTRÓNICO

Vamos a comenzar creando un nuevo proyecto de Android utilizando los siguientes parámetros en el cuadro de diálogo:

Introducción a Java LSUB. 15 de enero de 2015 GSYC

Tema 2: Diseño de servicios para móviles

FACULTAD DE INGENIERÍA

Administración de portales Joomla (III)

Tutorial 2 LAS UNIDADES (I)

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

Contenidos. Archivos en C++ Archivos en C++ Introducción

Curso de Android con Java

SIGUIENDO EL CAMINO Prerrequisitos: Tener adecuadamente configurado los ajustes de voz/sonidos en configuración Avisos Voz/sonidos

Administración de portales Joomla (II)

Ejercicios - Servicios

Programación Orientada a Objetos en Java

PROGRAMACIÓN EN JAVA

Programación I: Funciones y módulos

Universidad de Cantabria

Acceder a correo de 1000tentaciones.com a través de web.

Patrones de Diseño. Patrón estructural Composite. Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez)

Ejercicio 1 (3 puntos).-

Tutorial BMS Server Studio UDP

Practica 1 Estructura De Un Proyecto En ANDROID

Tema: Clases y Objetos en C++.

Prácticas de Programación

La funcionalidad básica es la del proyecto 1 (Pacman III). Sobre ella reemplazamos la interfaz de usuario para adaptarla al nuevo entorno

FACULTAD DE INGENIERÍA, U.B.A. Seminario de Sistemas Embebidos TRABAJO PRÁCTICO 0

1. El entorno de desarrollo Eclipse

Hola Android. Introducción al desarrollo de aplicaciones para Android

Desarrollo de Aplicaciones para Android

FACULTAD DE INGENIERÍA

Prof. Dr. Paul Bustamante

Kaldeera Advanced Forms 2009 Guía del usuario

Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1

Cuestionario: Programación en C y máscaras (II)

CREAR UN REPOSITORIO DE ALMACENAMIENTO NFS PARA XEN SERVER O VMWARE SOBRE WINDOWS SERVER 2003 R2

2.2.- Paradigmas de la POO

Tutorial básico del entorno de desarrollo Eclipse.

GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C)

Desarrollo de Servicios Web con JBuilder

Estructura de datos tipo vector.

Multitarea en Java. Rafa Caballero - UCM

Transcripción:

Almacenamiento en Android LSUB, GYSC, URJC

Todo lo que hay que saber http://developer.android.com/guide/topics/ data/data-storage.html

Dentro de una Aplicación Ya hemos visto, que se puede pasar con el bundle de Extras estado de una Activity a otra

Dentro de una Aplicación En oncreate() y en onpause() se tiene que salvar todo el estado persistente Ojo, onstop() y ondestroy() pueden no llamarse

Dos tipos de estado Documentos: Se deben crear inmediatamente y onpause() dejarlo escrito Estado interno a la aplicación: SharedPreferences, como un bundle, se salva en onpause(), se recrea en oncreate()

Shared Preferences getsharedpreferences(string name, int mode) - name es el fichero de preferencias - mode es un bitmap MODE_PRIVATE=0, con bits: MODE_READABLE, MODE_WRITEABLE, MODE_MULTI_PROCESS Sin parámetros es la por defecto Se puede compartir el fichero entre aplicaciones/threads, por eso hay un sistema transaccional (Editor)

Ejemplo public class CalendarActivity extends Activity {... static final int DAY_VIEW_MODE = 0; static final int WEEK_VIEW_MODE = 1; private SharedPreferences mprefs; private int mcurviewmode; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); SharedPreferences mprefs = getsharedpreferences("myprefs", MODE_PRIVATE); mcurviewmode = mprefs.getint("view_mode", DAY_VIEW_MODE); } protected void onpause() { super.onpause(); } } SharedPreferences.Editor ed = mprefs.edit(); ed.putint("view_mode", mcurviewmode); ed.commit();

Ficheros en Internal Storage Privados a la aplicación (ni el usuario ni otras aplicaciones lo pueden ver) Se borran al desinstalar Similar a la entrada-salida de java

Ejemplo String FILENAME = "hello_file"; String string = "hello world!"; FileOutputStream fos = openfileoutput(filename,context.mode_private); fos.write(string.getbytes()); fos.close();

Ficheros Hay más modos Context.MODE_APPEND, MODE_WORLD_READABLE, MODE_WORLD_WRITABLE (clase Context) Puedo incluir un fichero en res/raw con la aplicación Si quiero crear una cache, getcachedir() me da un File representando al directorio

Ficheros en External Storage Primero hay que comprobar que existe Luego se llama a getexternalfilesdir() si estamos en la version 8, directorio privado getexternalstoragedirectory() en la versión 7 que nos da el raíz común Ojo: getexternalfilesdir() hace más trabajo, en el de abajo hay que preocuparse del directorio

Ficheros en external storage Se usa la clase Environment: - Pedir directorios - Ver el estado, etc.

Ficheros en External Storage boolean mexternalstorageavailable = false; boolean mexternalstoragewriteable = false; String state = Environment.getExternalStorageState(); if (Environment.MEDIA_MOUNTED.equals(state)) { // Podemos leer y escribir mexternalstorageavailable = mexternalstoragewriteable = true; } else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) { // Podemos leer mexternalstorageavailable = true; mexternalstoragewriteable = false; } else { // No podemos ni leer ni escribir (puede estar en varios estados...) } mexternalstorageavailable = mexternalstoragewriteable = false;

Ficheros en External Storage Puedo crear ficheros públicos con getexternalstoragepublicdirectory() que me da un directorio del tipo que pido, ej: Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES); Puedo pedir cache en ext. stg. con getexternalcachedir(), igual que la interna En v7 getexternalstoragedirectory(), crear el de mi paquete, etc.

External Storage: Permisos <uses-permission android:name= "android.permission.write_external_storage" /> <uses-permission android:name= "android.permission.read_external_storage" />

No media Android escanea el external storage Busca fotos/videos/etc para añadirlos a los visores Si se crea un fichero.nomedia, no se añade

SQLite Se pueden crear bases de datos SQLite Heredar de SQLiteOpenHelper y sobreescribir oncreate() y onupgrade() Tutorial excelente en: http://www.vogella.com/articles/androidsqlite/ article.html