Bienvenidos sean a este post, hoy estableceremos el primero de nuestros tres pasos necesarios para poder implementar un ContentProvider, como nosotros necesitamos una forma de almacenar informacion de forma permanente y a su vez podamos acceder de forma simple para ello utilizaremos SQLite porque como vimos anteriormente tendremos la informacion de forma permanente y podremos acceder a ella por medio de Cursor, para ello vamos a crear una nueva aplicacion con los siguientes datos:

  • Application Name: PuntuacionesProvider
  • Domain Company: example.org
  • API SDK Minimum: 14
  • Add an Activity: Empty Activity
  • Activity Name: MainActivity
  • Layout Name: activity_main

Una vez generada nuestra nueva aplicacion procederemos a crear una nueva clase llamada PuntuacionesSQliteHelper donde reemplazaremos el codigo generado por el siguiente:

package org.example.puntuacionesprovider;

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

public class PuntuacionesSQLiteHelper extends SQLiteOpenHelper {
    
    public PuntuacionesSQLiteHelper(Context contexto){
        super(contexto,"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, int oldVersion, 
                          int newVersion) {}
}

Este codigo es simple, observen como primero implementamos SQLiteOpenHelper, luego tenemos nuestro constructor el cual recibira el contexto, y enviaremos por medio de super a nuestra super clase los siguientes datos:

  • el contexto, en general es this
  • el nombre de nuestra base de datos
  • la fabrica o factory, por ahora null
  • la version de la base de datos

Despues sobreescribiremos o redefiniremos los metodos onCreate() y onUpgrade() para poder implementar a SQLiteOpenHelper, esto lo explique en este post y este otro, el metodo onUpgrade solo implementaremos si cambiamos la version de la base de datos y para nuestro caso lo dejaremos en blanco simplemente para contentar la herencia, en cambio en onCreate() crearemos la tabla llamada puntuaciones donde almacenaremos la informacion. Va a constar de cuatro campos, el id del elemento, los puntos, el nombre y la fecha, con esto implementado hemos terminado de crear la estructura donde se almacenara la informacion, por ahora nada mas para nuestro proximo post extenderemos al ContentProvider para avanzar en nuestro siguiente paso.

En resumen, hoy hemos creado nuestra aplicacion que sera nuestro ContentProvider, hemos seteado la base de la misma, hemos hecho la estructura de los datos donde almacenaremos los mismos, en el proximo post continuaremos, espero les haya sido util, sigueme en Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios