miércoles, 4 de diciembre de 2013

Cómo crear la Base de Datos SQLite de Android

En este post os voy a enseñar cómo empezar a usar la base de datos interna de android SQLite.
Ya no explico que antes de todo crear la MainActivity ya que al crear un nuevo proyecto es automático.
Primero de todo tendremos que crear la base de datos, para ello necesitamos una clase que extienda de SQLiteOpenHelper, que es la clase que nos dará servicio a SQLite. El metodo onCreate se lanzara siempre y cuando la BD no este creada, y el onUpgrade si os digo al verdad no lo he utilizado aun.  Como veis el script que incorpora el execSQL, es muy sencillo, no hay nada de nuevo con SQL.
 public class DBHelper extends SQLiteOpenHelper{  
 public DBHelper(Context context, String name) {  
  super(context, name, null, 1);  
  // TODO Auto-generated constructor stub  
  }  
 @Override  
  public void onCreate(SQLiteDatabase db) {  
  // TODO Auto-generated method stub  
  try {  
  // Creación directa de una tabla  
  db.execSQL("CREATE TABLE ejemplo( "+  
  "id INTEGER PRIMARY KEY AUTOINCREMENT, "+  
  "campo1 INTEGER, "+  
  "campo2 INTEGER,"+  
  "campo3 TEXT" +  
  ");" );  
  }  
  catch(Exception e){  
 //TODO capturar error.  
  }  
  }  
 @Override  
  public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {  
  // TODO Auto-generated method stub  
  db.execSQL("DROP TABLE IF EXISTS ejemplo");  
  // Cridem a la creació  
  onCreate(db);  
  }  
 }  

Y por ultimo (si en solo 2 pasos lo tendréis), en nuestra activity solo tendremos que crear un objeto BDHelper para que nos cree la BD si aun no la tenemos creada y con el objeto SQLiteDatabase ya podremos empezar a manipular la BD, pero eso os lo enseñare en otro post.


 public DBHelper dbh;  
 public SQLiteDatabase db;  
 dbh = new DBHelper(this,"BD");  
 db = dbh.getReadableDatabase();  

Como veis en el código de arriba, necesitamos crear un objeto DBHelper pasando el context y el nombre de la conexión. Y con este objecto creamos el objeto SQLiteDatabase para poder manipular la BD. Yo lo he declarado en el onCreate de la MainActivity.

Espero que os sirva, Saludos.

No hay comentarios:

Publicar un comentario