sábado, 25 de agosto de 2012

5. Crear base de datos con SQLite (I)

Con esta aplicación voy a explicar como crear una base de datos con SQLite que nos permita añadir registros a una tabla. 
En principio los registros van a tener los mismos datos luego iremos añadiendo más funcionalidades. El aspecto de la aplicación final será más o menos este. (imagen)

Voy a dividir el tutorial en varias partes cada una contendrá una clase de las que vamos a necesitar.
Tal vez me anime o me animeis a hacer un video tutorial de este proyecto si os parece más conveniente.
Primero deberemos crear un proyecto nuevo, si has seguido todos los tutoriales anteriores ya sabrás como hacerlo. Yo le he llamado sqlite.android.primero
Luego vamos a a crear la clase SQLiteAyudante que nos va a ayudar a definir la estructura de la base de datos, el código explicado es el siguiente:
Podeis descargarlo de aquí:


package sqlite.android.primero;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class SQLiteAyudante extends SQLiteOpenHelper
   
    // definimos el nombre de la tabla
    public static final String TABLA_AGENDA ="miagenda1";
    // definimos también como constantes el nombre de los campos
    public static final String CAMPO_ID="_id";
    public static final String CAMPO_NOMBRE ="nombre";
    public static final String CAMPO_APELLIDOS="apellidos";
    public static final String CAMPO_TELEFONO="telefono";
    public static final String CAMPO_EMAIL="email";
    // definimos el nombre de la base de datos y la version
    private static final String BASEDEDATOS="miagenda.db";
    private static final int VERSION_BASEDEDATOS=1;
    // sentencia SQL para crear la tabla
    private static final String CREAR_BASEDEDATOS="create table " +
            TABLA_AGENDA + "(" + CAMPO_ID + " integer primary key autoincrement, "
            +  CAMPO_NOMBRE + " text not null, " + CAMPO_APELLIDOS + " text, "+
            CAMPO_TELEFONO + " text not null, " + CAMPO_EMAIL + " text);";
    // Constructor que llama a la superclase para crear la base de datos
    public SQLiteAyudante(Context context) {
        super(context, BASEDEDATOS, null, VERSION_BASEDEDATOS);
    }
    @Override
    public void onCreate(SQLiteDatabase db) {
        // este método será llamado automáticamente cundo se cree la BD
        // aquí crearemos las tablas que necesitemos y podríamos incluso añadir
        // registros. Utilizaremos el método execSQL que ejecuta el código SQL
        db.execSQL(CREAR_BASEDEDATOS);
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // Este método se ejecuta cuando sea necesaria una actualización de la
        // base de datos cuando intentemos abrir una version de la Base de Datos
        // que todavía no existe.
        // Un ejemplo de actualización sería para incluir nuevos campos.
        Log.w(SQLiteAyudante.class.getName(), "Actualizando base de datos "+
                BASEDEDATOS + " de la versión "+ oldVersion + " a la " +
                newVersion + " todos los datos serán eliminados ");
        db.execSQL("DROP TABLE IF EXIST " + TABLA_AGENDA);
        // y volvermos a crearla
        onCreate(db);
    }
}
La siguiente clase definirá las propiedades y métodos necesarios para los campos de la tabla.
Nos vemos...
Saludos.

No hay comentarios:

Publicar un comentario