2012-06-06 5 views
7

En utilisant ORMLite v 4.40, j'essayer d'obtenir mon application fonctionne, mais il semble ignorer la fonction onCreateORMLite sur Android ne pas appeler onCreate

Mon DatabaseHelper ressemble à ceci (style extrait)

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

mon MainActivity appelle le DatabaseHelper comme décrit:

public class MainActivity extends OrmLiteBaseActivity<ORMLiteHelper> { 

J'ai essayé de réinstaller l'application, la mise à niveau de la version de base de données, rien ne fonctionne. Je vois l'appel du constructeur (y compris typo :-), onCreate et onUpgrade cependant ne sont pas appelés.

Toute aide appréciée

Barry

+0

La seule fois que 'onCreate' est appelé est lorsque la base de données n'existe pas. 'onUpgrade' est appelée lorsque vous augmentez le numéro de version de la base de données. Toute modification appelle cette routine mais vous filtrez la sortie de débogage? – Gray

+0

P.S. Je suis au courant de la question à l'emplacement suivant: http://stackoverflow.com/questions/10260137/ormlite-database-helper-oncreate-not-called – barrel

+1

Je ne pense pas. Je supprime explicitement l'application en utilisant: ./adb désinstallation be.nauta.vino J'ai également essayé de mettre à jour la version de base de données sur une application existante (lire: installé), mais pas de chance là non plus – barrel

Répondre

23

Créer une instance de ORMLiteHelper et appelez getWritableDatabase(). Lorsque la base de données n'est pas créée, onCreate sera invoqué.

+0

Excellent !!! Cela fait l'affaire (duh en effet ....). Merci pour les réponses rapides. Et aussi: continuez votre bon travail! – barrel

Questions connexes