sql >> Databáze >  >> RDS >> SQLite

SQLiteOpenHelper:Metoda onCreate() není na fyzickém zařízení volána

Pokusím se vám vysvětlit některé věci.

V aplikaci pro připojení k databázi zadáváme název a verzi databáze. V této situaci může nastat následující:

1) Neexistuje žádná databáze . To může být například v případě programu počátečního nastavení. V tomto případě musí aplikace sama vytvořit databázi a všechny tabulky v ní. A dále již pracuje s nově vytvořenou databází.

2) Databáze existuje , ale jeho verze je zastaralá. Může se jednat o aktualizaci případu. Například nová verze programu potřebuje další pole ve starých tabulkách nebo nových tabulkách. V tomto případě musí aplikace aktualizovat stávající tabulky a v případě potřeby vytvořit nové.

3) Existuje databáze a její aktuální verze . V tomto případě se aplikace úspěšně připojí k databázi a běží.

Jak víte, fráze „aplikace musí“ se rovná frázi „vývojář musí“, tj. je to náš úkol. Abychom zvládli výše popsané situace, musíme vytvořit třídu, která dědí pro SQLiteOpenHelper. Říkejte tomu DBHelper. Tato třída nám poskytne metody k vytvoření nebo aktualizaci databáze v případě jejich absence nebo zastaralosti.

onCreate - metoda, která bude volána, pokud databáze, ke které se chceme připojit - neexistuje (je to váš případ)



  1. Nová funkce pro BYOC – pozastavení a obnovení clusterů

  2. Jak nasadit produkční cluster MySQL nebo MariaDB Galera pomocí ClusterControl

  3. Jak zakážu referenční integritu v Postgres 8.2?

  4. SELECT nebo PERFORM ve funkci PL/pgSQL