2012-06-06 18 views
7

Utilizzando ORMLite v 4.40, cerco di ottenere la mia applicazione in esecuzione, ma sembra ignorare la funzione onCreateORMLite su Android non chiamare onCreate

mio DatabaseHelper assomiglia a questo (stile frammento)

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"); 
    ... 

il mio MainActivity chiama il DatabaseHelper come descritto:

public class MainActivity extends OrmLiteBaseActivity<ORMLiteHelper> { 

ho provato a reinstallare l'applicazione, l'aggiornamento la versione del database, non funziona nulla. Vedo la chiamata del costruttore (incluso errore di battitura :-), onCreate e onUpgrade tuttavia non vengono chiamati.

Qualsiasi aiuto apprezzato

Barry

+0

L'unica volta che viene richiamato 'onCreate 'è quando il database non esiste. 'onUpgrade' viene chiamato quando si aumenta il numero di versione del database. Qualche modifica chiama questa routine ma stai filtrando l'output di debug? – Gray

+0

P.S. Sono a conoscenza della domanda nel seguente percorso: http://stackoverflow.com/questions/10260137/ormlite-database-helper-oncreate-not-called – barrel

+1

Io non la penso così. Ho eliminato esplicitamente l'applicazione utilizzando: ./adb uninstall be.nauta.vino Ho anche provato ad aggiornare la versione del database su un'applicazione esistente (leggi: installata), ma non ci sono state né – barrel

risposta

23

Crea istanza di ORMLiteHelper e chiamare getWritableDatabase(). Quando il database non viene creato, verrà invocato onCreate.

+0

Eccellente !!! Questo fa il trucco (duh infatti ....). Grazie per le risposte veloci. E anche: continua così! – barrel

Problemi correlati