base de datos android
Puedes veruna explicación de esta sección en formato poli[Media]
Uso de bases de datos en Android
Ejercicio paso a paso: Utilizando una base de datos para guardar puntuaciones.
Pasemos a demostrar cómo guardar las puntuaciones obtenidas en Asteroides en una base de datos. Si comparas la solución propuesta con las anteriores verás como el código necesario es menor. Además, una base de datos te damucha más potencia; puedes por ejemplo ordenar la salida por puntuación, eliminar filas antiguas, etc. Todo esto sin aumentar apenas el uso de recursos.
1. Crea la clase AlmacenPuntuacionesSQLite en el proyecto Asteroides y escribe el siguiente código:
public class AlmacenPuntuacionesSQLite extends SQLiteOpenHelper implements AlmacenPuntuaciones{
//Métodos de SQLiteOpenHelper public AlmacenPuntuacionesSQLite(Context context) {
super(context, "puntuaciones", null, 1);
}
@Override public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE puntuaciones ("+
"_id INTEGER PRIMARY KEY AUTOINCREMENT, "+
"puntos INTEGER, nombre TEXT, fecha LONG)");
}
@Override public void onUpgrade(SQLiteDatabase db, intoldVersion, int newVersion) {
// En caso de una nueva versión habría que actualizar las tablas
}
//Métodos de AlmacenPuntuaciones
public void guardarPuntuacion(int puntos, String nombre, long fecha) {
SQLiteDatabase db = getWritableDatabase();
db.execSQL("INSERT INTO puntuaciones VALUES (null, "+
puntos+", '"+nombre+"', "+fecha+")");
db.close();
}
public Vector listaPuntuaciones(int cantidad) {
Vector result = new Vector();
SQLiteDatabase db = getReadableDatabase();
Cursor cursor = db.rawQuery("SELECT puntos, nombre FROM " +
"puntuaciones ORDER BY puntos DESCLIMIT " +cantidad, null);
while (cursor.moveToNext()){
result.add(cursor.getInt(0)+" " +cursor.getString(1));
}
cursor.close();
db.close();
return result;
}
}
El constructor de la clase se limita a llamar al constructor heredado con el perfil:
SQLiteOpenHelper(Context contexto,String nombre, SQLiteDatabase.CursorFactory cursor, int version).
Los parámetros se describen a continuación:
contexto: contexto usado para abrir o crear la base de datos.
nombre: nombre de la base de datos que se creará. En nuestro caso “puntuaciones”.
cursor: se utiliza para crear un objeto de tipo cursor. En nuestro caso no lo necesitamos.
version: número de versión de la base de datosempezando desde 1. En el caso de que la base de datos actual tenga una versión más antigua se llamará a onUpgrade()para que actualice la base de datos.
El método onCreate() es invocado cuando sea necesario crear la base de datos. En nuestro caso tendrá solo la tabla puntuaciones que es creada por medio del comando SQL CREATE TABLE puntuaciones…
El método onUpgrade() no ha sido...
Regístrate para leer el documento completo.