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)