Estoy haciendo un cliente de mensajería instantánea para Android y estoy trabajando con bases de datos para almacenar los contactos y otra información ... En mi aplicación tengo una actividad y un servicio. Necesito abrir tres bases de datos al mismo tiempo, tanto en el servicio como en la actividad.Android bases de datos múltiples abiertas
Uso tres bases de datos porque deseo que las bases de datos se administren más fácilmente sin tener problemas con la sincronización de la escritura en ellas. (hasta donde sé, necesito escribir en la base de datos de forma sincrónica porque puede aplastar).
Para gestionar las bases de datos del servicio y de la actividad en el mismo tiempo, pensé que un único o una clase estática de DatabaseHelper me podían ayudar ...
Así que he empezado a hacer una prueba de haciendo dos objetos globales de databasehelper en la actividad, cada uno abre una base de datos diferente, después de ejecutar el proyecto he notado que la última base de datos abierta permanece abierta en ambos objetos: (,, ¿por qué ocurre esto?
¿Alguien puede sugerir ¿Cómo puedo hacer que esto funcione? ¡Gracias!
L .E .: después de más pruebas, hice un objeto estático de databasehelper, abrí un servicio del cual tomo el objeto de base de datos de la actividad y al mismo tiempo hice dos para declaraciones, una en actividad y una en servicio que se ejecutan desde 0 a 3000 y agrega algunos valores en la misma base de datos y luego lee la base de datos.
Después de esta ejecución, noté que la base de datos todavía está en pie y funcionando sin errores. Lo extraño es que el servicio se ejecuta solo después de la actividad para finalizar el trabajo. ¿Porqué es eso? ¡Gracias!
Tal vez, usted trabajó con la base de datos desde el hilo principal en la actividad y en el servicio. –