Diferencia entre revisiones de «Usuario:ManuelRomero/Android/BBDD»
De WikiEducator
(→SQLiteDatabase) |
(→Introducción) |
||
Línea 3: | Línea 3: | ||
===Introducción=== | ===Introducción=== | ||
:Android dentro del API tiene funcionalidad para gestionar una base de datos SQLite | :Android dentro del API tiene funcionalidad para gestionar una base de datos SQLite | ||
+ | :Esto hace que no requeramos ningún driver ni instalar un gestor de bases de datos adicional | ||
:SQLite es un motor de bases de datos con una características especiales que le hacen muy atractivas para determinados entornos | :SQLite es un motor de bases de datos con una características especiales que le hacen muy atractivas para determinados entornos | ||
− | # | + | #Maneja archivos de pequeño tamaño. |
− | #no permite concurrencia, | + | #Requiere poco espacio en tiempo de ejecución (250MB apx) |
− | + | #no necesita un servidor, no permite concurrencia, está basado en funciones no en servicios, lo que le permite presentar tiempos de respuestas rápidos. | |
− | #cumple el estándar SQL-92 | + | #cumple el estándar SQL-92 |
− | #Es | + | #Es Open Source |
*Página de referencia http://www.sqlite.org/ | *Página de referencia http://www.sqlite.org/ | ||
+ | ===Características importantes=== | ||
+ | *Presenta los siguientes tipos de datos | ||
+ | Si escribes esto al editar... ...este será el resultado. | ||
+ | {| class="wikitable" | ||
+ | |+ Tipos de datos en SQLite | ||
+ | ! Tipo !! Declaración del tipo | ||
+ | |- | ||
+ | | TEXTO || "TEXT" | ||
+ | |- | ||
+ | | NUMERO || "NUM" | ||
+ | |- | ||
+ | | ENTERO || "INT" | ||
+ | |- | ||
+ | | REAL || "" | ||
+ | |} | ||
+ | *No soporta otros tipos | ||
+ | *No valida los valores o sea que podemos insertar cadenas de texto en un campo de enteros y el sistema no se queja | ||
+ | ===SQLite y Android=== | ||
+ | *Acceder a la base de datos implica acceder al sistema de ficheros | ||
+ | '''''DATA/data/APP_NAME/databases/FILENAME.''''' | ||
+ | #'''''DATA''''' es el directorio donde ubica los ficheros '''''Enviroment.getDataDirectory() | ||
+ | #'''''APP_NAME''''' nombre de la aplicación | ||
+ | #'''''FILENAME''''' es el nombre del fichero de la base de datos | ||
+ | |||
===El API SQLLite=== | ===El API SQLLite=== | ||
*El API está definido en el siguiene paquete '''''android.database.sqlite''''' *http://developer.android.com/reference/android/database/sqlite/package-summary.html | *El API está definido en el siguiene paquete '''''android.database.sqlite''''' *http://developer.android.com/reference/android/database/sqlite/package-summary.html |
Revisión de 13:34 4 ene 2013
Introducción
- Android dentro del API tiene funcionalidad para gestionar una base de datos SQLite
- Esto hace que no requeramos ningún driver ni instalar un gestor de bases de datos adicional
- SQLite es un motor de bases de datos con una características especiales que le hacen muy atractivas para determinados entornos
- Maneja archivos de pequeño tamaño.
- Requiere poco espacio en tiempo de ejecución (250MB apx)
- no necesita un servidor, no permite concurrencia, está basado en funciones no en servicios, lo que le permite presentar tiempos de respuestas rápidos.
- cumple el estándar SQL-92
- Es Open Source
- Página de referencia http://www.sqlite.org/
Características importantes
- Presenta los siguientes tipos de datos
Si escribes esto al editar... ...este será el resultado.
Tipo | Declaración del tipo |
---|---|
TEXTO | "TEXT" |
NUMERO | "NUM" |
ENTERO | "INT" |
REAL | "" |
- No soporta otros tipos
- No valida los valores o sea que podemos insertar cadenas de texto en un campo de enteros y el sistema no se queja
SQLite y Android
- Acceder a la base de datos implica acceder al sistema de ficheros
DATA/data/APP_NAME/databases/FILENAME.
- DATA es el directorio donde ubica los ficheros Enviroment.getDataDirectory()
- APP_NAME nombre de la aplicación
- FILENAME es el nombre del fichero de la base de datos
El API SQLLite
- El API está definido en el siguiene paquete android.database.sqlite *http://developer.android.com/reference/android/database/sqlite/package-summary.html
- En el tenemos las siguientes clases
- SQLiteClosable
- SQLiteCursor
- SQLiteDatabase
- SQLiteOpenHelper
- SQLiteProgram
- SQLiteQuery
- SQLiteQueryBuilder
- SQLiteStatement
- Y las siguientes interfaces
- SQLiteCursorDriver
- SQLiteDatabase.CursorFactory
- SQLiteTransactionListener
Trabajar con Android y SQLLite
Para trabajar con una base de datos debemos realizar unos pasos clásicos
- Crear la base de datos y gestionarla
- Por crear la base de datos entendemos
- Definir la base de datos
- Definir su estructura (tablas y campos)
- Por gestionarla aludo al hecho de hacer operaciones básicas
- Insertar tuplas
- Borrar
- Modificar
- Consultar
- A continuacion vamos a ver como se realizan estas acciones con Android como lenguje y SQLLite como gestor de bases de datos relacional
Crear una base de datos
- Para administar una base de datos tenemos la clase SQLiteDatabase
- Tenemos dos métodos para abrir / crear una base de datos
- La idea es si existe la base de datos la abro, y si no existe la creo
- Tenemos dos manera de interoperar en esta manera
- Usando la clase SQLiteDatabase
- Extendiendo la clase abstracta SQLOpenHelper
SQLiteDatabase
Presenta los siguientes métodos para crear/abrir una base de datos
- openDatabase
- openOrCreateDatabase'
Los parámetros que se pueden pasar son los siguientes