Howto в Android: модель внутри сервиса, доступ к которой осуществляется несколькими пользователями - PullRequest
1 голос
/ 23 ноября 2010

У меня есть служба, которая подключается к серверу (обычный сокет TCP) и получает обновления данных в потоке. Я хочу сохранить эти данные (после небольшой обработки) в модели, к которой можно получить доступ несколькими действиями (обычно ListView с пользовательскими ArrayAdapters). В действиях я использую bind, чтобы получить дескриптор сервиса, чтобы он мог получить доступ к модели и зарегистрироваться в качестве слушателя, чтобы получать уведомления при изменении модели.

Проблема в том, что доступ к модели должен быть потокобезопасным. Сначала я подумал, что вызову runOnUIThread с входящими данными внутри службы для обновления модели, но у службы такой подпрограммы нет. Любой другой способ обновить модель внутри службы из потока пользовательского интерфейса? Или есть лучшая архитектура / шаблон, который я должен использовать?

1 Ответ

0 голосов
/ 29 ноября 2010

Нет ответа, но вот что я закончил: Каждый вызов on ... (например, onCreate, onBind и т. Д.) Выполняется в потоке пользовательского интерфейса, поэтому я в итоге создал обработчик в onCreate и отправил в этот обработчик сообщение для обновления.моя модель в потоке пользовательского интерфейса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...