Я делаю клиент обмена мгновенными сообщениями для Android и работаю с базами данных для хранения контактов и другой информации ... В моем приложении у меня есть действие и одна служба. Мне нужно открыть три базы данных одновременно как по сервису, так и по активности.
Я использую три базы данных, потому что хочу, чтобы базами данных было легче управлять без проблем с синхронизацией записи в них. (насколько я знаю, мне нужно синхронно записывать в базу данных, потому что она может сломаться).
Чтобы управлять базами данных из службы и из активности одновременно, я подумал, что синглтон или статический класс DatabaseHelper могут мне помочь ...
Итак, я начал проводить тест, выполнив два databasehelper глобальных объектов в действии, каждый из них открывает свою базу данных, после запуска проекта я заметил, что последняя открытая база данных остается открытой в обоих объектах: ((, почему это происходит?
Может ли кто-нибудь подсказать мне, как можно у меня эта работа работает? Спасибо!
LE: после дополнительных тестов я создал статический объект databasehelper, открыл службу, из которой я беру объект базы данных из активности, и в то же время я сделал два для операторов, один в действии и один в обслуживании, которые работают от 0 до 3000 и добавляют некоторые значения в ту же базу данных, а затем считывают базу данных.
После этого прогона я заметил, что база данных все еще находится в футах и работает без ошибок. Странно то, что служба для запускается только после того, как действие для завершает работу. Почему? Спасибо!