Cuando trabajamos con Android normalmente usaremos como base de datos SQLite. Para ello usaremos las clases incluidas con las librerías de Android del paquete android.database.sqlite.
Lo primero que tenemos que hacer es crear un clase que extenderá de la clase SQLiteOpenHelper.En esta clase debemos sobreescribir los métodos onCreate y onUpdate. Estos dos métodos se van a ejecutar cuando se crea la base de datos y cuando se actualiza.
A continuación tenemos un ejemplo en el cual se crea una tabla de usuarios y se inserta un usuario al crear la base de datos.
package com.ljlg.programandoblog;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class DBHelper extends SQLiteOpenHelper {
private static final String DATABASE_CREATE = "create table usuarios (" +
"id integer primary key autoincrement, login text not null," +
"password text not null);";
public DBHelper(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
// Aquí generamos las tablas necesarias
db.execSQL(DATABASE_CREATE);
db.execSQL("INSERT INTO usuarios (login, password) values ('usr1', 'pwd1');");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class DBHelper extends SQLiteOpenHelper {
private static final String DATABASE_CREATE = "create table usuarios (" +
"id integer primary key autoincrement, login text not null," +
"password text not null);";
public DBHelper(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
// Aquí generamos las tablas necesarias
db.execSQL(DATABASE_CREATE);
db.execSQL("INSERT INTO usuarios (login, password) values ('usr1', 'pwd1');");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
// Instanciamos la clase creada con anterioridad
DBHelper helper = new DBHelper(this, "blogDatabase", null, 1);
// Recuperamos una instancia de la clase SQLiteDatabaseque nos va servir para operar sobre la base de datos
SQLiteDatabase db = helper.getReadableDatabase();
DBHelper helper = new DBHelper(this, "blogDatabase", null, 1);
// Recuperamos una instancia de la clase SQLiteDatabaseque nos va servir para operar sobre la base de datos
SQLiteDatabase db = helper.getReadableDatabase();
rawQuery sin parámetros:
Cursor result = db.rawQuery(" SELECT id, login, password FROM Usuarios", null);
rawQuery con parámetros:
String[] parametros = new String[] {"usr1"};
Cursor result = db.rawQuery(" SELECT id, login, password FROM Usuarios where login = ?", parametros);
query con parámetros:
String[] campos = new String[] {"id", "login", "password"};
String[] parametros = new String[] {"usr1"};
Cursor result = db.query("Usuarios", campos, "login=?", parametros, null, null, null);
String[] parametros = new String[] {"usr1"};
Cursor result = db.query("Usuarios", campos, "login=?", parametros, null, null, null);
A continuación vemos como recorrer los resultados
while (result.moveToNext()) {
Long id = result.getLong(0);
String login= result.getString(1);
String password = result.getString(2);
System.out.println("[" + id + "][" + login + "][" + password + "]");
}
No hay comentarios:
Publicar un comentario