Как актив и сервис могут одновременно писать в БД? - PullRequest
2 голосов
/ 06 февраля 2011

У меня есть приложение с IntentService, которое запускается время от времени.Если оба они запускают вместе операторы SQL, которые записывают в базу данных, отключаются друг над другом (база данных заблокирована ошибкой) и приводят к сбою приложения.

Есть ли способ, чтобы действие и служба каким-то образом совместно использовали одно и то же?подключение к базе данных?

1 Ответ

4 голосов
/ 06 февраля 2011
  1. Как предлагает Фальмарри, вы можете использовать контент-провайдера.

  2. Синхронизируйте доступ, используя стандартные параметры синхронизации потоков Java (например, ключевое слово java.util.concurrent, synchronized).

  3. Операция не должна записывать в базу данных. Операция должна отправлять Intent в IntentService и иметь it запись в базу данных.

...