base de datos android

Páginas: 5 (1249 palabras) Publicado: 1 de septiembre de 2014
Para manipular una base de datos en Android usaremos la clase SQLiteOpenHelper que nos facilita tanto la creación de la base de datos, como el trabajar con futuras versiones de esta base de datos. Para crear un descendiente de esta clase hay que implementar los métodos onCreate(), y onUpgrade() y opcionalmente onOpen(). La gran ventaja de utilizar esta clase es que ella se preocupará de abrirla base de datos si existe o de crearla si no existe. Incluso de actualizar la versión si decidimos crear una nueva estructura de la base de datos. Además, esta clase tiene dos métodos getReadableDatabase() ygetWritableDatabase() que abren la base de datos en modo solo lectura o lectura y escritura. En caso de todavía no existir la base de datos, estos métodos se encargarán de crearla.
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...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Base de datos en android
  • BASE DE DATOS , base de datos
  • Bases de datos y usuarios de bases de datos
  • Que es una base de datos y tipos de base de datos
  • Base De Datos
  • Base De Datos
  • Base de datos
  • Base De Datos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS