sql >> Databasteknik >  >> RDS >> SQLite

SQLiteOpenHelper:metoden onCreate() anropas inte på fysisk enhet

Låt mig försöka förklara några saker för dig.

I ett program för att ansluta till databasen anger vi namnet och versionen av databasen. I den här situationen kan följande inträffa:

1) Det finns ingen databas . Detta kan till exempel vara i fallet med initialinställningsprogram. I det här fallet måste själva applikationen skapa databasen och alla tabeller i den. Och vidare, det fungerar redan med den nyskapade databasen.

2) Databas finns , men dess version är föråldrad. Det kan vara falluppdateringen. Till exempel behöver en ny version av programmet ytterligare fält i de gamla tabellerna eller nya tabeller. I det här fallet måste applikationen uppdatera befintliga tabeller och skapa nya vid behov.

3) Det finns en databas och dess faktiska version . I det här fallet ansluter programmet framgångsrikt till databasen och körs.

Som ni vet måste frasen "applikationen" likställas med frasen "utvecklaren måste", dvs det är vår uppgift. För att hantera situationerna som beskrivs ovan måste vi skapa en klass som ärver för SQLiteOpenHelper. Kalla det DBHelper. Den här klassen kommer att förse oss med metoder för att skapa eller uppdatera databasen i händelse av deras frånvaro eller föråldrad.

onCreate - en metod som kommer att anropas om databasen som vi vill ansluta till - inte finns (det är ditt fall)



  1. Konvertera kolumnen Datetime från UTC till lokal tid i select-satsen

  2. Star Schema vs Snowflake Schema

  3. Mysql Konvertera kolumn till rad (pivottabell)

  4. Konfigurera heterogen databasreplikering – SQL Server till Oracle