PDF de programación - Unidad IV Aplicaciones sobre Base de Datos - Programación para dispositivos móviles

Imágen de pdf Unidad IV Aplicaciones sobre Base de Datos - Programación para dispositivos móviles

Unidad IV Aplicaciones sobre Base de Datos - Programación para dispositivos móvilesgráfica de visualizaciones

Publicado el 3 de Octubre del 2018
971 visualizaciones desde el 3 de Octubre del 2018
453,6 KB
20 paginas
Creado hace 7a (03/02/2017)
Clase:10

1

Unidad IV



Aplicaciones sobre

Base de Datos



2

Agenda

• PROGRAMA DE MANIPULACION DE BASE

• ANDROID

• SQLITE
• SQLITE OpenHelper
• SQLITE Database
• Cursor
• Ejemplos

• Agregar controles según campo
• Usar query para funciones de

agregado



3

SQLITE


• Sin Configuración: SQLite no necesita ser
instalado, no necesita
iniciar procesos, no
necesita una configuración inicial o cualquier
otro. SQLite es una librería, no un motor de base
de datos

• Transaccional: SQLite realiza transacciones que
cumplen con ACID(Atomic, Consistent, Isolated,
Durable). Para realizar estos realiza un proceso
de Serializacion.



4

SQLITE

Dependiendo de la versión de SQLite que se
encuentre instalada en la versión de Android donde
se ejecuta
las
siguientes características:

la aplicación, podemos usar

Creación, Alteración y eliminación de tablas
Vistas
Índices
Llaves extranjeras
Integridad Referencial
Soporte para datos tipo BLOB
Soporte para Transacciones
Tablas temporales
Y muchas mas…

5

SQLITE

Android provee varios métodos, clases, interfaces,
etc para construir, consultar, actualizar, crear,
actualizar y borrar registros, etc. Entre estos
tenemos
• SQLiteOpenHelper
Provee los métodos para crear o actualizar una
base de datos
• SQLiteDatabase
Provee los métodos para realizar querys contra la
base de datos. También provee métodos para
realizar inserts, updates y deletes.
• Cursor
Almacena los resultados devueltos por un query. Y
provee métodos para moverse de uno en uno.

6

SQLITE OpenHelper

Luego de tener creada nuestra implementación del
SQLiteOpenHelper, es decir, tenemos creada nuestra base de
datos, creamos una instancia a traves llamando directamente al
Constructor.
• Si Android encuentra que esa base de datos no existe,

ejecutara a la implementación del metodo onCreate(). Sino nos
devolverá un SQLiteOpenHelper con la podemos recuperar la
base de datos.

• Si Android encuentra que la base de datos tiene una versión

diferente de la especificada en su método onCreate(), ejecutara
el método onUpgrade() para llevar a la base de datos a la
nueva versión.

• En el método onUpgrade() es llamado para realizar tareas

como mover la información, eliminar las tablas existentes, etc.

7

SQLITE Database

• Una vez tenemos implementado los métodos para crear y/o

actualizar la base de datos, usamos los métodos del
SQLiteOpenHelper getWritableDatabase () y
getReadableDatabase () para obtener un objeto
SQLiteDatabase.

• Los métodos hacen exactamente lo mismo y devuelven el

mismo objeto. La diferencia es que si por algún motivo la base
de datos no puede ser abierta getWritableDatabase() lanzara
un excepción y getReadableDatabase() intentara abrir la base
de datos en modo solo lectura, sino lo consigue, lanzara una
excepción.

• Debemos tener el cuidado siempre de que al terminar la

operación o transacciones a nuestra base de datos llamamos
al método close() del SQLiteOpenHelper para cerrar cualquier
base de datos abierta y recuperar recursos.

8

SQLITE Database


• El objeto SQLiteDatabase ofrece varios métodos

para ejecutar consultas sobre la base de datos.
Como por ejemplo:

• execSQL(String sql)

• Ejecuta un consulta SQL que no devuelve

parámetros ni el numero de filas afectadas.

9

SQLITE Database

• Para insertar registros usamos el método :
• long insert (String table, String

nullColumnHack, ContentValues values)

• El parámetro nullColumnHack, especifica las

columnas en donde ser debe de insertar un
null. Este parámetro solo se insertara para
producir una fila en blanco. Normalmente ira
null

10

SQLITE Database

• Ejemplo de insert



11

SQLITE Database

• Para actualizar llamamos al método int update (String table,

ContentValues values, String whereClause, String[] whereArgs)
que nos devuelve el numero de filas afectadas

• Si pasamos null en el parámetro “whereClause” todas las filas

de la tabla serán actualizadas con los valores.

• La clausula where puede ser especificada totalmente en texto

concatenando valores, así:

Db.update(DATABASE_TABLE, args, KEY_ROWID + "=" + rowId,
null)
• O podemos construirla para pasar los parametros en un arreglo

de strings, así:



mDb.update(DATABASE_TABLE, args, KEY_ROWID + "=?",
String[] {rowid});



12

SQLITE Database

• Para borrar registros, usamos el método:
int delete (String table, String whereClause,
String[] whereArgs)
• A este método se le especifica el nombre de
la tabla, la clausula where y los argumentos
si existieran.

• Si pasamos null, a la clausula where

eliminamos todos los registros de la tabla.



13

SQLITE Database

• Para realizar consultas de SELECT a la

base de datos, el objeto SQLiteDatabase
nos expone diferentes métodos para crear
estas consultas con agregaciones, clausulas
Where, having, order by etc.

• Estos métodos devuelven un Objeto de tipo
Cursor el cual permite leer los registros uno
a uno.

• El método se llama query y posee 3

variantes dependiendo de los parámetros
que se le especifican

14

SQLITE Database

Devuelve un cursor que ejecuta el select.
• Para crear estas consultas, ocupamos la misma sintaxis de

SQL normal, excepto que no incluimos las palabras
reservadas(SELECT, GROUP BY, WHERE, etc.). SQLite las
construye por nosotros

• Pasando null a algún parámetro, provoca que se excluya la

clausula. Por ejemplo, un null en el parámetro columns,
devolverá todas las columnas(*), así que como un null en
selection devolverá todas las filas(No existe un WHERE).

15

SQLITE Database

Otras formas del método query son:

El método anterior no incluye el parámetro limit. Por lo
tanto no se puede limitar el numero de filas devueltas

Este método, devuelve solo las filas cuya combinación de
columnas es única, si el parámetro distinct es pasado en
true.

16

SQLITE Database


Otro método útil para crear consultas SELECT es:




rawQuery ejecuta una consulta SQL completa y devuelve
un cursos con los resultados.

• No debemos pasar el ; al final de la consulta. De lo

contrario se producirá un error.

17

Cursor

Una vez que hemos ejecutado la consulta y tenemos una
instancia del Cursor, podemos extraer la información a través
de varios métodos provistos por el.
• Por default el cursor, se encuentra en la posición -1, es

decir, antes de la primera fila.

• Para colocar el cursor en al primera fila llamamos al

método Cursor.moveToFirst(); lo que provoca que el cursor
se coloque en la fila 0. Este método devuelve true si el
movimiento resulto exitoso o false si no existen datos.

• Otros métodos similares son moveToNext (),

moveToPrevious (), moveToLast (), moveToPosition
(int position).

18

Cursor

• Cuando el cursor esta colocado en la posición deseada, el

objeto provee métodos para extraer información
dependiendo del tipo de dato

• Por ejemplo, getBlob(int columnIndex) nos regresa un
arreglo de bytes, getDouble(int columnIndex) un objeto
tipo double, etc.

• Un método útil para extraer el tipo de datos y evitar

excepciones de casting es getType(int columnIndex), que
nos devuelve el tipo de datos. Tambien podemos usar este
metodo para comprobar si un dato es nulo

• getType devuelve un entero que corresponde a valores

definidos en la clase cursor, que corresponden a las
constantes:



Cursor.FIELD_TYPE_STRING

19

Cursor

Cursor.FIELD_TYPE_BLOB
Cursor.FIELD_TYPE_FLOAT
Cursor.FIELD_TYPE_INTEGER
Cursor.FIELD_TYPE_NULL



• El índice que se pasa a estos métodos, puede ser

recuperado usando el método getColumnIndex(String
columnName) al cual especificamos el nombre de la
columna.

20
  • Links de descarga
http://lwp-l.com/pdf13726

Comentarios de: Unidad IV Aplicaciones sobre Base de Datos - Programación para dispositivos móviles (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad