2012-06-06 18 views
7

Usando ORMLite v 4.40, trato de conseguir mi aplicación en ejecución, pero parece ignorar la función onCreateORMLite en Android no llamar onCreate

Mi DatabaseHelper se parece a esto (estilo fragmento)

public class ORMLiteHelper extends OrmLiteSqliteOpenHelper { 

    private Context databaseContext; 
    private static String DATABASE_NAME = "InVinoVeritas"; 
    private static int DATABASE_VERSION = 1; 

    public ORMLiteHelper(Context context) { 
     super (context, DATABASE_NAME, null, DATABASE_VERSION); 
     Log.v("ORMLiteHelper", "Cosntructor"); 
    ... 

    @Override 
    public void onCreate(SQLiteDatabase database, ConnectionSource connectionSource) { 
     Log.v("DatabaseHelper", "onCreate"); 
    ... 
    @Override 
    public void onUpgrade(SQLiteDatabase database, ConnectionSource connectionSource, int oldVersion, int newVersion) { 
      Log.v("DatabaseHelper", "onUpgrade"); 
    ... 

mi MainActivity llama al DatabaseHelper como se describe:

public class MainActivity extends OrmLiteBaseActivity<ORMLiteHelper> { 

he intentado volver a instalar la aplicación, la actualización de la versión de la base de datos, nada funciona. Veo la llamada al constructor (incluyendo typo :-), sin embargo, onCreate y onUpgrade no son llamados.

Cualquier ayuda apreciado

Barry

+0

La única vez que se llama a 'onCreate' es cuando la base de datos no existe. 'onUpgrade' se invoca cuando aumenta el número de versión de la base de datos. ¿Algún cambio está llamando a estas rutinas pero está filtrando la salida de depuración? – Gray

+0

P.S. Estoy al tanto de la pregunta en la siguiente ubicación: http://stackoverflow.com/questions/10260137/ormlite-database-helper-oncreate-not -llamado – barrel

+1

No lo creo. Elimino explícitamente la aplicación usando: ./adb uninstall be.nauta.vino También intenté actualizar la versión de la base de datos en una aplicación existente (lectura: instalada), pero tampoco tuve suerte – barrel

Respuesta

23

Crear instancia de ORMLiteHelper y llame getWritableDatabase(). Cuando la base de datos no se crea, se invocará onCreate.

+0

¡¡Excelente !!! Esto hace el truco (duh de hecho ....). Gracias por las respuestas rápidas. Y también: ¡sigan con el buen trabajo! – barrel

Cuestiones relacionadas