supprimer la base de données sqlite lors de la mise à jour nouvelle version de l'application
J'ai téléchargé l'apk (version 1.0) avec 22 tables dans de Base de données SQLite sur le Google Playstore.
Maintenant je veux mettre à jour la base de données avec 36 tables dans la nouvelle version (version 2.0) de l'application.
Je suis le stockage
datebase
à l'emplacement par défaut de sorte que lorsque je presse "Clair
les données" dans Gestionnaire d'Applications, base de données va supprimés.
Je veux juste savoir comment faire pour supprimer l'ancienne base de données (de même que pour effacer les données) lorsque l'utilisateur de mettre à jour la nouvelle version?
Mise à jour:
Si est-il une solution pour effacer les données pendant la mise à jour de l'application depuis le play store puis aussi m'a répondu.
Votre aide serait appréciée.
Grâce.
Non, je suis en création de base de données à l'emplacement par défaut de l'application et de l'utiliser.
Je veux dire, vous êtes à l'aide de SqliteOpenhelper?
Oui, bien sûr. J'ai créé la base de données à l'aide de
SQLiteOpenHelper
OriginalL'auteur Pratik Butani AndroidDev | 2014-05-27
Vous devez vous connecter pour publier un commentaire.
vous pouvez utiliser cette méthode pour supprimer votre base de données.
Vous pouvez également utiliser cette méthode pour trouver votre base de données de la voie d'abord et ensuite les supprimer.
L'autre solution est , si vous voulez mettre à jour votre base de données, puis il suffit de changer votre numéro de version de la base de données.
onUpgrade()
sera automatiquement appelé et votre ancienne base de données seront supprimées et la nouvelle base de données sera créée.lorsque vous allez mettre à jour votre application disons sur le bouton mise à jour, cliquez sur. ensuite, ce que vous devez faire est d'appeler deleteDatabase méthode, puis appelez votre sqlite classe de l'objet et sa méthode getReadableDatabse() et votre nouveau databse sera créé.
context.deleteDatabase(DATABASE_NAME);
dansonUpgrade()
a fonctionné pour moi.OriginalL'auteur Waqar Ahmed
Enfin fini avec la solution la plus simple:
OriginalL'auteur Pratik Butani AndroidDev
Belle Question. Il suffit de suivre les étapes.
1) Il existe deux méthodes que vous ignorez sur Votre classe d'aide
2) créer un objet de la classe Helper.
3) Maintenant, il suffit d'augmenter la
database version
quand vous voulez changer la base de données.(Troisième argument en MyOpenHelper classe. "1" est une version de base de données).4) Lorsque la base de données des changements de version, il vous donnera un rappel à
onUograde()
méthode.5) Supprimer toutes les tables de
onUpgrade()
méthode et d'en créer de nouveaux.6).
EXPLICATION :
Votre application
version 1.1
est sur google play et votredatabase version is "1"
. Maintenant vous voulez télécharger la version 1.2 avec la nouvelle base de données. Juste à définir la base de données de la version "2" dans votre fichier de helper. Et vérifier que le oldVersion et nouvelleversion dansonUpgrade()
méthode si les deux ne sont pas les mêmes que les moyens d'application de la mise à jour et de supprimer les anciennes tables et d'en créer de nouveaux.deleteDatabase
au moment de la mise à jour de l'application. Comment puis-je savoir que l'application est mise à jour. Est-il un Événement ou Récepteur?de vérifier la version de condition si l'ancienne et la nouvelle ne sont pas de même de mise à niveau de la base de données
si je ne veux pas supprimer mon utilisateurs de la base de données locale dans ma prochaine version de ce que devrait tous je devrais garder dans mon esprit..puis-je simple de publier mon application à 1,1 sans changer la version db qui était de 1????
Oui. Si vous ne modifiez pas la version, il n'ira pas en appel onUpgrade() la méthode. Si vous ne pas changer de dbversion votre base de données précédente va être comme il est.
OriginalL'auteur Biraj Zalavadia
Si vous utilisez
SQLiteOpenHelper
il suffit de supprimer vos tables dans votreonUpgrade
méthode et de recréer toutes vos tables. Vous ne devrait pas avoir de problèmes à tous.Vérifier cette.
Espère que cela aide
Remarque: soyez prudent avec les versions de base de données, si vous jouez avec votre base de données de numéros assurez-vous d'avoir le bon numéro de votre
oldVersion
ou il ne fonctionnera pas correctement lorsque vous mettez à jour votre google play.Eh bien, vous continuerez votre base de données à partir de la version " A "à la version "B", après cette version, vous pouvez faire ce que vous voulez avec elle. Juste besoin d'être prudent avec vos valeurs de base de données.
Oui, vous avez mon point de vue, Est-il un récepteur de détecter la mise à jour de l'application.
J'étais un peu endormie quand j'ai écrit cela et ne pas l'exprimer comme je le pensais. C'est la bonne façon de le faire, cependant, si vous ne voulez répéter le comportement d'une application de mise à niveau sans aucune modification de la base de données que vous auriez encore pour incrémenter la version de la base de données à nouveau. Vous pourriez peut-être utiliser le contexte.deleteDatabase() la méthode mentionnée dans une autre réponse et le feu dans une mise à niveau du récepteur comme une alternative si vous vouliez toujours supprimer la base de données sur l'application de mise à niveau.
OriginalL'auteur zozelfelfo