2012-06-06 13 views
7

Korzystanie ORMLite v 4.40, staram się, aby moje app uruchomiony, ale wydaje się ignorować funkcja onCreateORMLite na Androida nie nazywając onCreate

Moja DatabaseHelper wygląda następująco (styl urywka)

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

Moja główną działalność wywołuje DatabaseHelper jak opisano:

public class MainActivity extends OrmLiteBaseActivity<ORMLiteHelper> { 

próbowałem ponownej instalacji aplikacji, uaktualnienie wersji bazy danych, nic nie działa. Widzę, że wywołanie konstruktora (w tym literówki :-), onCreate i onUpgrade nie są jednak wywoływane.

Każda pomoc mile widziane

Barry

+0

Wywoływany jest tylko czas 'onCreate', gdy baza danych nie istnieje. 'onUpgrade' jest wywoływane podczas zwiększania numeru wersji bazy danych. Jakąkolwiek zmianę wywołuje te procedury, ale filtrujesz dane wyjściowe debugowania? – Gray

+0

P.S. Zdaję sobie sprawę z tego pytania w następującym miejscu: http://stackoverflow.com/questions/10260137/ormlite-database-helper-oncreate-not-called – barrel

+1

Nie sądzę. I jawnie usunąć aplikację przy użyciu: ./adb uninstall be.nauta.vino Próbowałem również uaktualnienie wersji bazy danych na istniejącej (czytaj: zainstalowane) aplikacji, ale nie ma szczęścia tam – barrel

Odpowiedz

23

Tworzenie instancji z ORMLiteHelper i nazywają getWritableDatabase(). Gdy baza danych nie zostanie utworzona, zostanie wywołana metoda onCreate.

+0

Doskonały !!! To działa (w rzeczywistości ...). Dzięki za szybkie odpowiedzi. A także: utrzymuj dobrą pracę! – barrel

Powiązane problemy