Я пишу приложение с «онлайн-режимом», то есть данные загружаются, анализируются и вставляются в базу данных SQLite по мере необходимости.Все это выполняется службой.Приложение состоит из нескольких действий, которые запрашивают у службы обновление данных (различные данные зависят от действия).
Когда пользователь перемещается по действиям (не дожидаясь завершения службы), очень легко выполнитьget SQLiteExceptions (сообщение: база данных заблокирована ).
Я думал об использовании синхронизированных блоков, но это заставило бы пользователя ждать при загрузке нового действия (чтодля загрузки требуется доступ к базе данных), пока служба завершает обновление.Так что это кажется тупиком.
Другой вариант может быть остановить обновление в методе onStop каждого действия.Конечно, обновление будет прервано, но это не большая проблема.Проблема в том, что я не уверен, как к нему подойти.
Мой вопрос: как я могу / должен справиться с этим?