SQLite
 sql >> Base de données >  >> RDS >> SQLite

SQLiteOpenHelper :la méthode onCreate() n'est pas appelée sur le périphérique physique

Laissez-moi essayer de vous expliquer certaines choses.

Dans une application pour se connecter à la base de données, on précise le nom et la version de la base de données. Dans cette situation, ce qui suit peut se produire :

1) Il n'y a pas de base de données . Cela peut être par exemple dans le cas d'un programme de réglage initial. Dans ce cas, l'application elle-même doit créer la base de données et toutes les tables qu'elle contient. Et de plus, il fonctionne déjà avec la base de données nouvellement créée.

2) La base de données existe , mais sa version est obsolète. C'est peut-être le cas de la mise à jour. Par exemple, une nouvelle version du programme nécessite des champs supplémentaires dans les anciennes tables ou dans les nouvelles tables. Dans ce cas, l'application doit mettre à jour les tables existantes et en créer de nouvelles si nécessaire.

3) Il existe une base de données et sa version actuelle . Dans ce cas, l'application se connecte avec succès à la base de données et s'exécute.

Comme vous le savez, l'expression « l'application doit » équivaut à l'expression « le développeur doit », c'est-à-dire que c'est notre tâche. Pour gérer les situations décrites ci-dessus, nous devons créer une classe qui hérite de SQLiteOpenHelper. Appelez-le DBHelper. Cette classe nous fournira des méthodes pour créer ou mettre à jour la base de données en cas d'absence ou d'obsolescence.

onCreate - une méthode qui sera appelée si la base de données à laquelle on veut se connecter - n'existe pas (c'est votre cas)