Je travaille avec SQLite dans mon projet android. Il y a une caractéristique qui est claire pour moi - s'il y a plusieurs threads fonctionnant avec DB alors ils devraient utiliser seulement une instance de DBHelper et SQLite garantissent un accès sécurisé (même s'il est concurrent) à la DB. Mais j'ai encore une chose à clarifier. Comment gérer avec la connexion DB (objet SQLiteDatabase
)? Combien de fois devrais-je appeler geWritableDatabase()
et close()
? Est-ce correct si j'appelle ces méthodes une fois? Ou est-il préférable d'obtenir l'objet SQLDatabase et de le fermer à chaque fois que j'effectue une opération de lecture/écriture sur DB?Gestion de connexion Android SQLite
1
A
Répondre
0
Il est géré par défaut ... Je veux dire si une base de données à écriture ouverte, chaque fois que vous essayez d'accéder à la base de données en lecture seule, elle ferme l'écriture et crée une nouvelle instance de base de données en lecture seule. Pour autant que je sache :)
Questions connexes
- 1. Connexion SQLite dans ANDROID
- 2. Gestion des connexions SQLite dans Android
- 3. Pool de connexion SQLite
- 4. Gestion de la base de données SQLite avec l'application android
- 5. Connexion de base de données SQLite dans android
- 6. Erreur de connexion à la base de données SQLite Android
- 7. Connexion utilisateur en Sqlite?
- 8. Android Gérer la connexion à la base de données SQLite
- 9. Base de données Helloworld - connexion android avec sqlite
- 10. SQLite + problèmes de gestion de la mémoire
- 11. Application de connexion Android
- 12. Gestion des exceptions Android
- 13. PHP PDO SQLITE - connexion
- 14. Connexion SQLite - Injection
- 15. connexion SQLite: application cesse de fonctionner
- 16. Comment ouvrir une base de données SQLite dans un outil de gestion SQLite
- 17. Android Gestion de l'activité
- 18. android gestion de fichiers
- 19. Gestion de connexion de base de données
- 20. Android - Limitations de SQLite
- 21. de sqlite sql android
- 22. SQLite & Android
- 23. Gestion des sessions Android
- 24. c3p0 problèmes de gestion de connexion
- 25. Android problèmes de fuite SQLite
- 26. Statut de connexion de SQLite dans IOS
- 27. Gestion des chaînes SQLite en mode transaction
- 28. Connexion SQLite locale sur JDeveloper
- 29. Connexion SQLite dans VS 2010?
- 30. Gestion de Paramiko SSHException - Connexion serveur abandonnée
Et si je veux écrire dans DB à partir de plusieurs threads que getWritableDatabase() et close() doivent être invoqués dans chacun d'eux? – tundundun
Oui. il est préférable d'invoquer les méthodes getWritableDatabase() et getReadableDatabase() à chaque fois pour être sûr que vous êtes sur le point d'utiliser ... Aussi, s'il y a un multi-threading, vous devez gérer une sorte de synchronisation là où aucun développeur veut fermer sa base de données tout en récupérant des données de la base de données –
Jetez également un coup d'oeil javadoc description ... Créez et/ou ouvrez une base de données. Ce sera le même objet retourné par getWritableDatabase() à moins qu'un problème, tel qu'un disque complet, nécessite que la base de données soit ouverte en lecture seule. Dans ce cas, un objet de base de données en lecture seule sera renvoyé. Si le problème est résolu, un appel futur à getWritableDatabase() peut aboutir, auquel cas l'objet de base de données en lecture seule sera fermé et l'objet en lecture/écriture sera renvoyé dans le futur. –