D'activité et de Service d'arrière-plan de l'Accès à la Base de données SQLite
Je veux vérifier si une Base de données SQLite est ouvert, et si elle l'est, j'aimerais accéder à cette Base de données à l'intérieur d'une classe de service.
Je suis inquiet, et vous avez vu, que plusieurs appels ouverts à la base de données clash, et de lancer des exceptions. Parce que je fais requête à la base de données à la fois dans mon Activité et les classes de Service, je tente de mettre en œuvre la solution Commonsware recommandé ici: Quand fermer db connexion sur android? Chaque fois après votre opération terminée ou après votre app sortie. Cependant, je ne souhaite pas fermer puis ouvrir la Base de données à l'intérieur de la classe de Service si l'Activité pourriez avoir besoin d'elle. À partir de cette réponse Pourquoi utiliser SQLiteOpenHelper sur SQLiteDatabase?, on dirait qu'il pourrait être judicieux de mettre en œuvre un SQLiteOpenHelper pour résoudre le problème des appels multiples.
Je vous remercie beaucoup pour votre aide!!
OriginalL'auteur NumenorForLife | 2013-06-27
Vous devez vous connecter pour publier un commentaire.
Cet homme Kevin est une légende: http://touchlabblog.tumblr.com/post/24474750219/single-sqlite-connection. Je vous remercie beaucoup.
Sur ce lien, il partage son ridiculement simple solution:
Ensuite dans mon SQLite classe j'ai changé mon code ressemble à ceci:
Une véritable légende serait d'utiliser un
enum
pour cette...Une véritable légende ne se soucie pas de son (ou ses) de la critique. De toute façon, la légende continue: kpgalligan.tumblr.com/post/109546839958/.... C'est juste une collection de liens sur le sujet. Il revient sans cesse.
OriginalL'auteur NumenorForLife
à onCreat dans l'activité de la source de données.open();
alors faites ce que vous voulez
et à la fin de actevity mettre cela à proximité :
OriginalL'auteur H4F