Android DB por Cesar Cespedes

5.655 visualizaciones

Publicado el

Publicado en: Tecnología
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
5.655
En SlideShare
0
De insertados
0
Número de insertados
369
Acciones
Compartido
0
Descargas
193
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Android DB por Cesar Cespedes

  1. 1. Base de Datos en Android
  2. 2. <ul><li>Métodos de Almacenamiento de Datos </li></ul><ul><li>SQLite DataBase </li></ul><ul><li>Content Provider </li></ul>Índice
  3. 3. <ul><li>Shared Preferences </li></ul><ul><ul><li>Datos son almacenados en archivos XML </li></ul></ul><ul><li>Flat Files </li></ul><ul><ul><li>InputFileStream </li></ul></ul><ul><ul><li>OutputFileStream </li></ul></ul><ul><li>SQLite DataBase </li></ul>Métodos de Almacenamiento de Datos
  4. 4. <ul><li>Base de Datos relacional para sistemas embebidos. </li></ul><ul><li>Ocupa únicamente unos 225KB. </li></ul><ul><li>Implementa la mayor parte del estándar SQL-92, pero con restricciones. </li></ul><ul><li>Soporte para ALTER_TABLE limitado. </li></ul><ul><li>Las columnas no tienen tipos. </li></ul><ul><li>Existen diferentes herramientas, como sqlite3, disponible desde sqlite.org </li></ul><ul><li>Existen un plugin de Firefox para visualizar bases de datos SQLite (recomendado) </li></ul>SQLite DataBase
  5. 5. <ul><li>Se utiliza internamente en Firefox y Thunderbird. </li></ul><ul><li>Lo utilizan la mayoría de las plataformas móviles (iOS, Symbian, Android, BlackBerry OS, webOS). </li></ul><ul><li>No existen las claves ajenas o foráneas, y en el caso de necesitarlas, debemos forzarlas “a mano”. </li></ul><ul><li>Es relativamente fácil conectar una base de datos a una lista. </li></ul><ul><li>La base de datos está protegida dentro de la memoria interna del dispositivo. </li></ul><ul><li>Mientras trabajamos con el emulador (donde tenemos acceso root), podemos extraer (con DDMS) el archivo de la base de datos y visualizarlo. </li></ul>SQLite DataBase
  6. 6. <ul><li>SQLiteOpenHelper </li></ul><ul><ul><li>Nos permite crear, actualizar, y conectar con una base de datos SQLite </li></ul></ul><ul><ul><li>Es solo un constructor. </li></ul></ul><ul><ul><li>Métodos: </li></ul></ul><ul><ul><ul><li>onCreate() </li></ul></ul></ul><ul><ul><ul><li>onUpgrade() </li></ul></ul></ul><ul><li>Referencia a la Base de Datos </li></ul><ul><ul><li>Objeto de tipo SQLiteDatabase. </li></ul></ul><ul><ul><li>Actualizar, modificar, eliminar datos. </li></ul></ul><ul><ul><li>Métodos: </li></ul></ul><ul><ul><ul><li>getReadableDatabase() </li></ul></ul></ul><ul><ul><ul><li>getWritableDatabase() </li></ul></ul></ul>SQLite DataBase
  7. 7. <ul><li>Insertar, actualizar y eliminar registros </li></ul><ul><ul><li>Método execSQL() </li></ul></ul><ul><ul><ul><li>Permite ejecutar cualquier sentencia SQL sobre la base de datos. </li></ul></ul></ul><ul><ul><ul><li>No devuelve resultados. </li></ul></ul></ul><ul><ul><li>Métodos insert(), update() y delete() </li></ul></ul><ul><ul><ul><li>Uso de parámetros. </li></ul></ul></ul><ul><ul><ul><li>Separa tablas, valores y condiciones en parámetros independientes. </li></ul></ul></ul>SQLite DataBase
  8. 8. <ul><li>Selección y recuperación de datos </li></ul><ul><ul><li>Método rawQuery(). </li></ul></ul><ul><ul><ul><li>Único parámetro, comando SQL. </li></ul></ul></ul><ul><ul><ul><li>Resultado de la consulta en forma de Cursor. </li></ul></ul></ul><ul><ul><li>Método query(). </li></ul></ul><ul><ul><ul><li>Varios parámetros: </li></ul></ul></ul><ul><ul><ul><ul><li>Nombre de la tabla. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Array campos, cláusula WHERE. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Array con argumentos variables incluidos en el WHERE (si los hay, null caso contrario). </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Cláusula GROUP BY si existe. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Cláusula HAVING si existe. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Cláusula ORDER BY si existe. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Parámetro opcional con el número de registros a obtener. </li></ul></ul></ul></ul><ul><ul><ul><li>Resultado de la consulta en forma de Cursor. </li></ul></ul></ul>SQLite DataBase
  9. 9. <ul><li>Recorrer y manipular un cursor </li></ul><ul><ul><li>Métodos: </li></ul></ul><ul><ul><ul><li>moveToFirst(): mueve el puntero del cursor al primer registro devuelto. </li></ul></ul></ul><ul><ul><ul><li>moveToNext(): mueve el puntero del cursor al siguiente registro devuelto. </li></ul></ul></ul>SQLite DataBase
  10. 10. <ul><li>¿Dónde esta mi Base de Datos? </li></ul><ul><ul><li>Una vez ejecutada por primera vez desde Eclipse la aplicación de ejemplo sobre el emulador de Android (y por supuesto antes de cerrarlo) podemos ir a la perspectiva “DDMS” (Dalvik Debug Monitor Server) de Eclipse y en la solapa “File Explorer” podremos acceder al sistema de archivos del emulador, donde podremos buscar la ruta indicada de la base de datos </li></ul></ul><ul><ul><li>Abrir una consola de MS-DOS y utilizar la utilidad adb.exe (Android Debug Bridge) situada en la carpeta platform-tools del SDK de Android (en mi caso: c:android-sdk-windowsplatform-tools). En primer lugar consultaremos los identificadores de todos los emuladores en ejecución mediante el comando “adb devices“. Esto nos debe devolver una única instancia si sólo tenemos un emulador abierto “emulator-5554“. </li></ul></ul><ul><ul><li>Tras conocer el identificador de nuestro emulador, vamos a acceder a su shell mediante el comando “adb -s identificador-del-emulador shell“. Una vez conectados, ya podemos acceder a nuestra base de datos utilizando el comando sqlite3 pasándole la ruta del fichero, para nuestro ejemplo “sqlite3 /data/data/pe.android/databases/DB“. Debe aparecernos el prompt de SQLite “sqlite>“, lo que nos indicará que ya podemos escribir las consultas SQL necesarias sobre nuestra base de datos. </li></ul></ul><ul><ul><li>“ SELECT * FROM tabla </li></ul></ul>SQLite DataBase
  11. 11. <ul><li>Mecanismo bastante sencillo para almacenar y acceder a información de manera compartida. </li></ul><ul><li>Superclase para el manejo y almacenamiento de datos. </li></ul><ul><li>Es la manera de compartir datos entre procesos y aplicaciones, ya que los datos de cada aplicación se almacenan por separado. </li></ul><ul><li>Implementa un conjunto estándar de métodos para exponer sus datos de aplicación para ser utilizados, consumidos o creados por otras aplicaciones. </li></ul><ul><li>Normalmente, se usa con una base de datos (SQLite), puede usarse con otro medio de compartición de variables, un fichero, ó simplemente un ArrayList. </li></ul>Content Provider
  12. 12. <ul><li>http://developer.android.com </li></ul><ul><li>http://www.sgoliver.net/blog/?p=1611 </li></ul><ul><li>Professional Android™ 2 Application Development - Reto Meier </li></ul><ul><li>The Android Developer’s Cookbook Building Applications with the Android SDK - James Steele </li></ul>Referencias
  13. 13. ¡¡¡ GRACIAS !!! César Céspedes Loayza

×