Android-сервис Многопоточный дизайн - PullRequest
7 голосов
/ 28 мая 2010

Новый вопрос про андроид и сервисы. В настоящее время я разрабатываю приложение, которое должно отправлять изображения на сервер. Также должно быть возможным отправлять больше изображений параллельно.

Я сделал сервис, который создает для каждого изображения новое изображение. Деятельность может связываться с этим сервисом и собирать информацию о прогрессе. Я хочу показать текущее состояние для каждого изображения в уведомлении (и когда пользователь щелкает уведомление, должно отображаться действие с прогрессом для этого изображения).

Но у меня есть несколько проблем с этим подходом. При связывании возникают ошибки, событие, ожидающее уведомления, запускает действие полностью новое, поэтому я теряю информацию об отправке изображений и т. Д.

Может кто-нибудь сказать мне, как я мог бы разработать такую ​​проблему соответствующим образом.

ТНХ

1 Ответ

9 голосов
/ 28 мая 2010

Я бы использовал объект Controller, созданный в вашем приложении классе. Этот контроллер одинаков для всех ваших действий. Если начинается загрузка изображения, контроллер создает новый сервис / поток, отслеживает его состояние и показывает уведомление. Теперь каждое действие может запрашивать у контроллера состояние своего процесса и показывать соответствующую информацию пользователю. Таким образом, контроллер, живущий в жизненном цикле приложения, будет привязываться к сервису, а не к кратковременному действию

Был разговор с Марком Брейди на droidcon об этом, вы можете найти слайды на slideshare . Это становится интересным в более поздней части слайдов, когда объясняется используемая метка архитектуры. Я боролся с той же проблемой в течение нескольких недель и пришел к тем же результатам, и я рад, что наконец-то в сети есть какой-то ресурс по этой теме.

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