Android plusieurs bases de données ouvertes

Je fais un client de messagerie instantanée pour android et je suis en train de travailler avec des bases de données pour stocker les contacts et autres infos... Dans mon application j'ai une activité et un service. - Je besoin pour ouvrir trois bases de données dans le même temps, à la fois sur le service et sur l'activité.

J'utilise trois de base de données parce que je veux les bases de données devant être gérés plus facilement sans avoir des problèmes avec la synchronisation de l'écriture. (pour autant que je sais que j'ai besoin d'écrire dans la base de données de façon synchrone car il peut écraser).

Pour gérer les bases de données du service de l'activité et dans le même temps, j'ai pensé qu'un singleton ou une classe statique de DatabaseHelper pourrait m'aider...

J'ai donc commencé à faire un test en faisant deux databasehelper des objets globaux de l'activité, chacun d'eux ouvre un diferent de base de données, après l'exécution le projet que j'ai remarqué que la dernière base de données ouverte reste ouvert à la fois des objets :((, pourquoi est-ce arrivé?

Quelqu'un peut-il sugest moi comment puis-je faire ce travail?
Merci!!!!

L. E.: après plusieurs tests, j'ai fait un objet Statique de databasehelper, ouvrir un service dont je prends la base de données de l'objet de l'activité et dans le même temps, j'ai fait deux déclarations, l'une dans l'activité et dans un service qui s'étendent de 0 à 3000 et ajoute quelques valeurs dans la même base de données, puis il lit la base de données.

Après cette course, j'ai remarqué que la base de données est toujours dans les pieds et fonctionne sans erreurs. La chose étrange est que le service est en cours d'exécution qu'après l'activité pour l'termine le travail. Pourquoi est-ce?
Merci!!!!

Peut-être, vous avez travaillé avec la base de données depuis le thread principal de l'activité et dans le service.

OriginalL'auteur Cata | 2010-12-21