6
votes

Android - Mise à jour de la base de données dans l'application de Web

J'ai une application avec une base de données pleine d'informations. L'utilisateur ne change jamais ou ajoute rien à cette base de données. Je voudrais mettre à jour la base de données moi-même et le stocker sur le Web. Ensuite, chaque fois que l'application est chargée, elle vérifiera le Web pour une nouvelle version. S'il y en a un, cela le téléchargerait simplement et le remplacerait. Quelle est la meilleure façon de faire cela?


0 commentaires

4 Réponses :


0
votes

Eh bien, vous pouvez mettre à jour l'ensemble de l'APK via Internet, vérifiez simplement la version et la somme de contrôle, et chaque nouvelle version doit contenir une nouvelle version de DB et des instructions nécessaires pouvant être exécutées avec un peu d'aide de sqliteopenhelper ou vous pouvez mettre à jour votre DB via un conteneur XML simple sur http ...


0 commentaires

2
votes

Quelqu'un d'autre devra vous dire la meilleure façon d'initier le téléchargement actuel, mais Ce blog post peut être utile pour déterminer comment installer la base de données une fois téléchargée.

Aussi, vous pouvez trouver Cette question j'ai posté plus tôt utile pour déterminer les versions de la base de données, je suis fondamentalement à l'analyse du nom de fichier pour déterminer la version. Je suis sûr qu'il y a un moyen plus facile pour vous si vous communiquez avec un serveur.


2 commentaires

J'ai effectivement utilisé ce blog post pour créer ma base de données. J'aime l'idée d'analyser le nom de fichier et de le faire de cette façon. Les mises à jour peuvent avoir des centaines de nouvelles lignes ou plus de nouvelles lignes ajoutées et je détesterais devoir écrire des déclarations SQL pour tous ceux qui les exécutent ensuite. Je préférerais simplement en attendre la base de données existante.


Je sais que cela a été un moment, mais j'ai essayé cela et cela a bien fonctionné. Je parsaise simplement les noms de fichiers et il saisit le plus récent, puis remplace la base de données existante sur l'appareil.



1
votes

Vous avez plusieurs options pour résoudre ce problème:

  1. Téléchargez un fichier XML ou JSON depuis votre serveur Web, analysez-le, transparent la base de données actuelle et importer de nouvelles données.
  2. Vous pouvez enregistrer directement un fichier texte sur votre serveur Web avec des instructions SQL et exécuter directement ce fichier SQL préparé à la base de données SQLITE.

2 commentaires

Les mises à jour peuvent ajouter des centaines ou plus de lignes à la base de données. Je voudrais simplement le remplacer à chaque fois au lieu d'écrire que de nombreuses déclarations SQL.


Je ne suis pas sûr que ce soit possible, je vérifierai ça! Mais est-ce vraiment si mal? Vous pouvez écrire un service exécutant dans un autre fil et gérer ces inserts en arrière-plan ...



0
votes

Vous pouvez avoir une table séparée dans chaque DBS pour conserver la mise à jour de la version. Donc, chaque fois que vous chargez l'application, vous pouvez appeler un service Web et obtenir la version actuelle de la DB que vous stockez sur le serveur Web. Si son plus récent que le DB que vous avez, vous pouvez simplement le remplacer.

Vous pouvez utiliser le service Web .NET qui a la méthode pour obtenir la version de la DB qui stocke dans Web et, à l'aide de la bibliothèque KSOAP, vous pouvez appeler le service Web .NET et obtenir les résultats.


0 commentaires