“Android – Almacenamiento de Información”

Slides:



Advertisements
Presentaciones similares
Manipulación de archivos de texto
Advertisements

Archivos y Búsqueda Secuencial
Programación orientada a objetos Capítulo 3 Interacción de objetos.
TALLER DE DESARROLLO DE APLICACIONES MÓVILES Data Storage Por: Felipe Hernández R.
“Problemas con la seguridad”
Redes Sociales Rogelio Ferreira Escutia.
“CSS - Texto” Rogelio Ferreira Escutia.
Android TV Rogelio Ferreira Escutia.
Rogelio Ferreira Escutia
Módulo de Especialidad en
“Android – Comunicaciones con HTTP”
“CSS - Colores” Rogelio Ferreira Escutia.
“Web Services” Rogelio Ferreira Escutia.
“Android – Geolocalización”
“Tendencias 2015: Foro Económico Mundial”
“Flat Design” Rogelio Ferreira Escutia.
“Tecnologías para Construir el
Rogelio Ferreira Escutia
“HTML – Estructura” Rogelio Ferreira Escutia.
Curso “Tecnologías Web” Rogelio Ferreira Escutia.
“Conceptos sobre IOS” Rogelio Ferreira Escutia.
“HTML – Imágenes” Rogelio Ferreira Escutia.
“Recomendaciones para el Arranque de Clases”
Rogelio Ferreira Escutia
“HTML – Manejo de Texto”
“Taller de Videojuegos con HTML 5” Manejo del Canvas en HTML 5
Sensores Rogelio Ferreira Escutia
“Instalación” Rogelio Ferreira Escutia.
“Android – Distribución de Componentes”
“Arduino - Herramientas” Rogelio Ferreira Escutia
Múltiples Pantallas Rogelio Ferreira Escutia
Integration Services.
Marketing - “Presencia Digital” Rogelio Ferreira Escutia
Rogelio Ferreira Escutia
“Conceptos de Internet de las Cosas” Rogelio Ferreira Escutia
“Arduino - Historia” Rogelio Ferreira Escutia
“Raspberry Pi - RFID” Rogelio Ferreira Escutia
Almacenamiento con File I/O Ejemplo Rogelio Ferreira Escutia
Módulo de Especialidad en
“Proporción Áurea” Rogelio Ferreira Escutia.
“Creación del Hola Mundo”
“Concurso Nacional de Creatividad 2009”
“Blockchain - Conceptos” Rogelio Ferreira Escutia
“Tecnologías para construir el Internet de las Cosas”
Módulo de Especialidad en
Marketing - “Posicionamiento” Rogelio Ferreira Escutia
“Herramientas” Rogelio Ferreira Escutia
“Android – Componentes Básicos de la Interface”
Material para “Internet de las Cosas” Rogelio Ferreira Escutia
“Proyectos de Big Data” Rogelio Ferreira Escutia
Conceptos sobre Sistemas Operativos Rogelio Ferreira Escutia
“Android – Entrada y Procesamiento de Datos”
“Tipos de Antenas” Rogelio Ferreira Escutia.
“Material Design” Rogelio Ferreira Escutia.
“Raspberry Pi - Herramientas” Rogelio Ferreira Escutia
“Lenguaje de Programación” Rogelio Ferreira Escutia
Múltiples Idiomas Rogelio Ferreira Escutia
“Raspberry Pi - Arquitectura” Rogelio Ferreira Escutia
Marketing - “Modelos de Negocio” Rogelio Ferreira Escutia
MPI - “Programación” Rogelio Ferreira Escutia
Marketing - “Análisis de Sitios” Rogelio Ferreira Escutia
“Amazon Web Services - Conceptos”
“Multiplexado y demultiplexado de señales:
“User Experience” Rogelio Ferreira Escutia.
“Creación de una calculadora”
“Android - Estructura”
Conceptos de Hadoop Rogelio Ferreira Escutia
“Android – Gráficos” Rogelio Ferreira Escutia.
“Raspberry Pi 4 -Arquitectura” Rogelio Ferreira Escutia
Preparándose para el Futuro
Transcripción de la presentación:

“Android – Almacenamiento de Información” Rogelio Ferreira Escutia

Tipos de Almacenamiento 2

Tipos de Almacenamiento File I/O Shared Preferences Content Providers Bases de Datos 3

File I/O 4

Lugares de Almacenamiento Interna Externa (SD Card) 5

Tipos de apertura de archivos MODE_PRIVATE MODE_APPEND MODE_WORLD_WRITABLE MODE_WORLD_READABLE 6

MODE_PRIVATE Es el modo por defecto con acceso privado desde nuestra aplicación. Sobreescribe el contenido del archivo. 7

MODE_APPEND Para añadir contenido a un archivo existente. Si no existe el archivo lo crea. 8

MODE_WORLD_WRITABLE Permite a otras aplicaciones escribir en el archivo. 9

MODE_WORLD_READABLE Permite a otras aplicaciones leer del archivo. 10

SQLite 11

www.sqlite.org 12

Bibliotecas utilizadas import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.provider.BaseColumns; import android.util.Log; Google, “https://developers.google.com/maps/documentation/android-api/?hl=es”, abril 2016 13

Operaciones Básicas Insert(): Inserts one or more rows into the database. Query(): Requests rows matching the criteria you specify. Update(): Replaces ones or more rows that match the criteria you specify. Delete():Deletes rows matching the criteria you specify Google, “https://developers.google.com/maps/documentation/android-api/?hl=es”, abril 2016 14

Clase para SQLite public class DbHelper1 extends SQLiteOpenHelper { // Google, “https://developers.google.com/maps/documentation/android-api/?hl=es”, abril 2016 15

Estructura de la Base static final String TAG = "DbHelper"; static final String DB_NAME = "timeline.db"; // static final int DB_VERSION = 1; // static final String TABLE = "timeline"; // static final String C_ID = BaseColumns._ID; static final String C_CREATED_AT = "created_at"; static final String C_SOURCE = "source"; static final String C_TEXT = "txt"; static final String C_USER = "user"; Context context; Google, “https://developers.google.com/maps/documentation/android-api/?hl=es”, abril 2016 16

Inicializar Base en el constructor public DbHelper1(Context context) { // super(context, DB_NAME, null, DB_VERSION); this.context = context; } Google, “https://developers.google.com/maps/documentation/android-api/?hl=es”, abril 2016 17

Creación de la Base // Called only once, first time the DB is created @Override public void onCreate(SQLiteDatabase db) { String sql = "create table " + TABLE + " (" + C_ID + " int primary key, " + C_CREATED_AT + " int, " + C_USER + " text, " + C_TEXT + " text)"; // db.execSQL(sql); // Log.d(TAG, "onCreated sql: " + sql); } Google, “https://developers.google.com/maps/documentation/android-api/?hl=es”, abril 2016 18

Verificar la existencia de la Base // Called whenever newVersion != oldVersion @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // // Typically do ALTER TABLE statements, but...we're just in development, // so: db.execSQL("drop table if exists " + TABLE); // drops the old database Log.d(TAG, "onUpdated"); onCreate(db); // run onCreate to get new database Google, “https://developers.google.com/maps/documentation/android-api/?hl=es”, abril 2016 19

Abrir base para abrir // Open the database for writing db = dbHelper.getWritableDatabase(); / Google, “https://developers.google.com/maps/documentation/android-api/?hl=es”, abril 2016 20

Ejecución @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("drop table " + TABLE); this.onCreate(db); } Google, “https://developers.google.com/maps/documentation/android-api/?hl=es”, abril 2016 21

Cerrar la base // Close the database db.close(); // 22 Google, “https://developers.google.com/maps/documentation/android-api/?hl=es”, abril 2016 22

Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Correo: rogelio@itmorelia.edu.mx rogeplus@gmail.com Página Web: http://antares.itmorelia.edu.mx/~kaos/ http://www.xumarhu.net/ Twitter: http://twitter.com/rogeplus Facebook: http://www.facebook.com/groups/xumarhu.net/