Я пишу приложение и подходящий виджет, который нуждается в данных. Эти данные загружаются через сеть. Я планирую использовать IntentService для загрузки. Эта служба сохранит данные в виде файла. Этот файл затем используется как приложением, так и виджетами.Как делиться файлом между виджетами, сервисом и приложением?
Как я могу запретить приложению и виджету читать файл, пока служба его пишет?
И как я могу запретить службе писать в файл, пока приложение или виджет читает файл?
Спасибо!
Хорошо, это похоже на простое и хорошее решение. Но я не знаю о жизненном цикле для объекта Application. Доступно ли это, если не создано никакой активности и созданы только виджеты? –
Я не знаю точного ответа на ваш вопрос, но вот что я думаю: виджет читает файл и поэтому должен открыть «FileInputStream». Это должно быть сделано на Java, поэтому объект «Приложение» доступен НА САМОМ ЛИНИИ. Если нет, просто создайте метод в 'APP', который возвращает' FileInputStream'. См. Править для пояснения. – gobernador
Первое предлагаемое решение отлично работает. Спасибо! –