Crear base de datos SQLite en Android

Base de datos SQLite en Android

La base de datos SQLite en Android tiene un rol fundamental ya que nos permite guardar información valiosa en los dispositivos. Tener una base de datos en un dispositivo nos puede ahorrar tener que acceder a un web services remoto a cada rato, y así no depender siempre de una conexión a internet. Por ejemplo si desde una aplicación se quisiera enviar un mensaje a otro dispositivo y no hubiera internet, una buena opción seria guardar ese mensaje en la base de datos para enviarlo una vez conectado a internet.

En este artículo veremos cómo usar una base de datos SQLite en Android con un ejemplo, utilizando el lenguaje de programación Java.

Creando una base de datos SQLite en Android

La clase encargada de manipular la base de datos debe heredar de SQLiteOpenHelper. El código quedaría de la siguiente manera:


import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class SQLiteHelper extends SQLiteOpenHelper {

	// Sentencia SQL para crear la tabla de Usuarios
	private String sqlCreateTable1;
	private String sqlCreateTable2;


	public SQLiteHelper(Context contexto, String name, CursorFactory factory,
			int version) {
		super(contexto, name, factory, version);
	}

	@Override
	public void onCreate(SQLiteDatabase db) {
		// Se ejecuta la sentencia SQL de creación de la tabla
		createQuery();
		db.execSQL(sqlCreateTable1);
		db.execSQL(sqlCreateTable2);

	}

	@Override
	public void onUpgrade(SQLiteDatabase db, int versionAnterior,
			int versionNueva) {

		// Se elimina la versión anterior de la tabla
		db.execSQL("DROP TABLE IF EXISTS table1");
		db.execSQL("DROP TABLE IF EXISTS table2");

		// Se crea la nueva versión de la tabla
		db.execSQL(sqlCreateTable1);
		db.execSQL(sqlCreateTable2);
	}

	public void createQuery() {
		sqlCreateTable1 = "CREATE TABLE table1(column1 INTEGER, column2 TEXT)";
		sqlCreateTable2 = "CREATE TABLE table2(column1 INTEGER, column2 TEXT)";
	}
}

La clase SQLiteHelper implementa los métodos:
* createQuery: Encargado de crear las consultas para crear las tablas.
* onUpgrade: Encargado de resetear la base de datos entera.
* onCreate: Encargado de crear las tablas.

Una vez que ya tenemos nuestra base de datos SQLite en Android creada podemos insertar registros de la siguiente manera:

SQLiteDatabase db = new SQLiteHelper(getApplicationContext(), "DatabaseName", null, 1).getWritableDatabase();
db.execSQL("INSERT INTO table1 (column1) VALUES (1)");

Luego si queremos obtener todos los registros insertados tenemos que hacer:

Cursor c = db.rawQuery("SELECT * FROM table1 WHERE column1 = 1", null);
while(c.moveToNext()){
  Toast.makeText(getApplicationContext(), c.getInt(c.getColumnIndex("column1")) + "", Toast.LENGTH_LONG).show();
}

Todos esto es lo básico que se tiene que tener en cuanta a la hora de usar una base de datos SQLite en Android. Espero que se haya entendido y les sea de gran utilidad.

Compartilo en
Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInPin on PinterestEmail this to someone

AboutJosé Di Meglio

Apasionado de la tecnología y programación. Aportando información gratuita sobre el mundo de la informática.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *