Comment mettre à jour le schéma de la table après une application de mise à niveau sur Android?
J'ai un inachevée de l'application, mais je veux aborder aujourd'hui, l'avenir de mise à jour.
Suppose que mon application a été mis à niveau, de sorte que lorsque commence, détecte que le schéma de base de données est périmée. Donc, pour chaque tableau de mise à jour en fonction du numéro de version pour le nouveau schéma, tout en préservant toutes les données.
J'ai lu quelque part que sur Android la base de données SQLite ont certains le numéro de version et la mise à jour automatique des trucs, mais je n'ai pas trouvé un exemple pour cette question spécifique.
Comment cela peut-il être accompli sur une application Android, en utilisant les bases de données SQLite?
Est-il une version spécifique d'un nombre par table stockée sur Android, bases de données SQLite? Si oui, comment puis-je le lire, et l'utiliser pour mes fins ci-dessus?
OriginalL'auteur Pentium10 | 2010-02-09
Vous devez vous connecter pour publier un commentaire.
SQLiteOpenHelper
est votre ami ici.Vous devez fournir
onCreate
etonUpgrade
méthodes.Vous conservez les vieux enregistrement à l'aide de l'instruction ALTER TABLE des déclarations ou des tables temporaires, comme avec n'importe quel base de données SQL. Android aide à vous dire si votre schéma général des changements, c'est à vous de déterminer quelles sont les tables et ainsi de suite besoin d'être changé.
(1) puis-je créer SQLiteOpenHelper pour chaque table séparément, alors je peux garder onCreate et onUpgrade distinctement sur ces classes, et la onUpgrade exécuter pour chacun de mes classe est instanciée? (2) Ou je doit créer seulement 1 SQLiteOpenHelper classe dans mon ensemble de l'application, et inclure toutes les créer les tables de toutes les mises à jour au même endroit? (3) Comment puis-je transférer ma base de données SQLite à partir de l'émulateur sur mon PC? (4) ai-je besoin de chiffrer la base de données, ou Android stocke dans un endroit sûr?
(1) ne fonctionnera pas, mais (2). S'il vous plaît ouvrir de nouvelles questions pour (3) et (4), ou, mieux encore, à la recherche pour les réponses, puisque ces questions, j'en suis sûr, ont été déjà couvertes.
OriginalL'auteur Christopher Orr