domingo, 23 de diciembre de 2012

Android: Base de datos (I): Creación de una base de datos SQLite

URL ORIGEN: http://www.inforjmr.es/?p=430


Android: Base de datos (I): Creación de una base de datos SQLite

SQLite es una base de datos relacional muy popular basada en  el modelo SQL y se puede utilizar para almacenar datos de una aplicación. La forma normal de utilizarlo es extenderla de la clase SQLiteOpenHelper.
Como hemos dicho anteriormente, para utilizar una base de datos SQLite en una aplicación Android, es necesario heredar de la clase SQLiteOpenHelper. Este es un estándar de la clase Android que ayuda a abrir el archivo de base de datos. Primero se comprueba la existencia del archivo de base de datos y si existe se abre, de lo contrario, se crea uno.
1
public class CreacionBDSQlite extends SQLiteOpenHelper {
El constructor de la clase SQLiteOpenHelper contiene los siguientes argumentos:  context, nombre de la base de datos, objeto CursorFactory y la versión.
Esta sería el código de la clase que crearía o actualizaría la base de datos:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
 
public class CreacionBDSQlite extends SQLiteOpenHelper {
 
    //Nombre de la base de datos
    public static final String NOMBREBD = "bdprueba.sqlite";
    //Versión de la base de datos
    public static final int VERSION = 1;
    //Nombre de la tabla (puede haber tantas como necesitemos)
    public static final String NOMBRE_TABLA = "tablaprueba";
    //Campo 1
    public static final String ID = "id";
    //Campo 2 (también puede haber tantos campos como queramos)
    public static final String NOMBRE = "nombre";
 
    //Constructor
    public CreacionBDSQlite(Context context) {
        //Aquí le pasamos el contexto, el nombre de la base de datos, el cursor que no lo necesitamos y la version de la base de datos.
        super(context, NOMBREBD, null, VERSION);
    }
 
    //Aquí crearemos la base de datos
    @Override
    public void onCreate(SQLiteDatabase db) {
        /*En la siguiente linea lo que estamos haciendo es crear la base de datos
         * con una tabla llamada tablaprueba
         * dos campos uno llamado id que almacenará un número entero, que será clave primaria con autoincremento y que no podrá ser null
         * y otro campo llamado nombre que será de tipo texto 
         */
        db.execSQL("create table " + NOMBRE_TABLA + "(" + ID + " integer primary key autoincrement not null, " + NOMBRE + "text);");
        //dentro de los paréntesis también podría ir perfectamente "create table tablaprueba(id integer primary key autoincrement not null, nombre text);" esto y lo anterior es lo mismo
    }
 
    //Aquí se actualizará la base de datos
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {   
    }
}
Y en la clase principal para crear la base de datos tendríamos que crear un objeto del mismo tipo que se llame la clase creadora de la base de datos, en este caso se llamaCreacionBDSQLite que hereda de la clase SQLiteOpenHelper.
El código quedaría así:
1
2
CreacionBDSQLite crearBD = new CreacionBDSQLite(this);
SQLiteDatabase bd = crearBD.getWritableDatabase();//Método de la clase heredada SQLiteOpenHelper para crear la bd
Con esto la base de datos ya está disponible para consultar, actualizar e insertar datos en la misma. Todo esto se verá en los próximos artículos relacionados con base de datos en Android.
Y ahora para comprobar que toda la creación ha ido bien , tendremos que explorar el sistema de archivos y ver que se ha creado la base de datos correctamente. En el dispositivo , la ruta donde se guardan todas las base de datos SQLite es la siguiente:
/data/data/paquete.java.de.la.aplicacion/databases/nombre_base_datos
Para comprobar que se ha creado satisfactoriamente, vamos al explorador de archivos de eclipse y vamos a la ruta donde se debería haber alojado la base de datos.
Como podemos comprobar, la base de datos se ha creado correctamente.
Nota : Para consultar el contenido de la base de datos, tenemos dos opciones:
1- Transferir la base de datos a nuestro PC y consultarla con cualquier administrador de bases de datos SQLite.
2- Acceder directamente a la consola de comandos del emulador de Android y utilizar los comandos existentes para acceder y consultar la base de datos SQLite.
Nota 2: Si por cualquier motivo no sabéis dónde se encuentra el explorador de archivos, sólo tenemos que hacer click abajo a la izquierda de eclipse en un botón como este:
 y nos aparecerá una lista en la que aparece el explorador de archivos (File Explorer).


No hay comentarios:

Publicar un comentario