Question

Je travaille avec une application PhoneGap qui utilise le stockage local Safari (SQLite DB) via Javascript:

https://developer.apple .com / bibliothèque / archives / documentation / iPhone / conceptuel / SafariJSDatabaseGuide / UsingtheJavascriptDatabase / UsingtheJavascriptDatabase.html

Lors de la première charge, l'application crée la base de données, tables, et les données par l'intermédiaire remplit une série d'instructions INSERT.

Si l'utilisateur ferme l'application pendant ce traitement se passe, ma base de données de l'application est laissée dans un état incohérent.

Ce que je préfère faire est de déployer le SQLite DB dans le cadre de mon emballage iTunes App donc rien ne doit être rempli au début de l'application froide. Cependant, je ne suis pas sûr si cela est possible - tous les hits de Google pour ce sujet que je peux trouver sont en se référant aux principales données-fourni SQLite qui est pas ce que nous utilisons ...

S'il est impossible, pourrais-je envelopper la chose entière dans une transaction et garder rejuger quand l'application est redémarrée?

A défaut, je suppose que je peux créer une table simple avec une colonne booléenne « is_app_db_loaded? » et le mettre à true après que je l'ai traitée tous mes inserts. Mais c'est vraiment dégoûtant ...

Était-ce utile?

La solution

Je pense que cette solution peut travailler pour vous. ce qui implique une pré-création de la table, et le copier sur lorsque l'application démarre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top