SQLite
 sql >> Datenbank >  >> RDS >> SQLite

SQLiteOpenHelper:Methode onCreate() nicht auf physischem Gerät aufgerufen

Lassen Sie mich versuchen, Ihnen einige Dinge zu erklären.

In einer Anwendung zur Verbindung mit der Datenbank geben wir den Namen und die Version der Datenbank an. In dieser Situation kann Folgendes passieren:

1) Es gibt keine Datenbank . Dies kann beispielsweise bei einem Ersteinstellungsprogramm der Fall sein. In diesem Fall muss die Anwendung selbst die Datenbank und alle darin enthaltenen Tabellen erstellen. Und außerdem arbeitet es bereits mit der neu erstellten Datenbank.

2) Datenbank existiert , aber seine Version ist veraltet. Es kann das Fallupdate sein. Beispielsweise benötigt eine neue Version des Programms zusätzliche Felder in den alten Tabellen oder neuen Tabellen. In diesem Fall muss die Anwendung vorhandene Tabellen aktualisieren und gegebenenfalls neue erstellen.

3) Es gibt eine Datenbank und ihre aktuelle Version . In diesem Fall stellt die Anwendung erfolgreich eine Verbindung zur Datenbank her und wird ausgeführt.

Wie Sie wissen, ist die Formulierung „Anwendung muss“ gleichbedeutend mit „Entwickler muss“, dh es ist unsere Aufgabe. Um die oben beschriebenen Situationen zu handhaben, müssen wir eine Klasse erstellen, die für SQLiteOpenHelper erbt. Nennen Sie es DBHelper. Diese Klasse stellt uns Methoden zur Verfügung, um die Datenbank zu erstellen oder zu aktualisieren, falls sie nicht vorhanden oder veraltet ist.

onCreate - eine Methode, die aufgerufen wird, wenn die Datenbank, mit der wir uns verbinden wollen, nicht existiert (das ist Ihr Fall)