Je suis en train de refaire l'architecture interne de mon application. Pour l'instant, mes données sont sous la forme de 23 fichiers xml, que je parse via un DefaultHandler. Je veux maintenant en faire une base de données pour pouvoir accéder à ces données en les triant par exemple.
J'ai donc suivi les instructions du tuto d'Apollidore, et j'ai mes 3 classes comme lui
DAObase
ItemDAO extends DAObase
et DatabaseHandler extends SQLiteOpenHelper
Sauf que lors de la création de ma bdd, c'est-à-dire dans la méthode onCreate() de DatabaseHandler, j'aimerais bien remplir ma base de données.
Sauf que pour ajouter un item il faut utiliser un ItemDAO, lequel utilise DatabaseHandler...
Bref boucle infinie, comment faire ?
NB : pour l'instant, la base de donnée est nourrie à chaque lancement de l'application, ce qui prend entre 35 et 47 secondes selon si je geek en même temps ou pas (je n'ai pas encore essayé sur un vrai smartphone) Une fois ça passe, mais à chaque fois qu'on doit utiliser l'appli c'est ridicule...
Pour parce que onCreate et onUpgrade de DataBaseHandler sont des méthodes plutôt partiques... Et ça me paraissait logique de remplir ma base de donnée quand elle se crée...
Genre si je rajoute des items, je change la version de ma base et mon appli peut gérer
Si je le fais dans ma première activité il faut que je check si la base existe, si elle est remplie, si elle correspond à la version etc, ça me parait beaucoup moins optimisé...
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Mon site - Mon livre sur le XML - Mon blog