2012-10-08 1 views
1

J'utilise SqliteAssetHelper pour importer une base de données à partir du dossier d'actif et la copier dans le dossier d'application de base de données standard.SQLiteAssetHelper génère une erreur

Il fonctionne tout à fait au hasard mais ... quand je remplace le fichier .zip dans mon dossier d'actifs avec un nouveau et j'exécuter l'application que je reçois cette erreur

E/AndroidRuntime(20036): Caused by: com.readystatesoftware.sqliteasset.SQLiteAssetException: Missing databases/adinspect.zip file in assets or target folder not writable 

mais je suis sûr que le fichier " adinpect.zip "est là. Je viens de mettre à jour mon schéma de base de données, le zippé à nouveau et j'ai remplacé le fichier dans le dossier des ressources.

Qu'est-ce qui me manque?

+0

est la table "android_metadata" dans ma base de données causant cette erreur? – Mirko

+0

Êtes-vous sûr qu'un fichier de base de données est là? Et pas sql ou quelque chose. Peut-être essayer d'actualiser votre dossier d'actifs après le remplacement. De plus, le nom zip sera utilisé comme nom de la base de données et non comme celui à l'intérieur. L'android_metadata pourrait être un problème. Pas parce que c'est là mais si la déclaration à l'intérieur est fausse. J'essaie juste de mettre toutes les possibilités là-bas. Je l'utilise tout le temps et n'ai pas de problème – mango

+0

Rafraîchir était la clé. @mango, Si vous ajoutez cela comme réponse, je l'accepterai. À votre santé!! – Mirko

Répondre

1

Assurez-vous d'actualiser le dossier des ressources après avoir remplacé un fichier. Parfois, eclipse n'enregistre pas le changement de fichier.

1

J'ai eu un problème similaire mais j'avais aussi manqué le nom du répertoire assets/databases (j'avais des assets/database). Je pensais que je voudrais ajouter ceci dans le cas où quelqu'un d'autre rencontre le problème.