Android: сервис для обработки нескольких загрузок - PullRequest
1 голос
/ 31 августа 2011

Мне нужны некоторые рекомендации, чтобы справиться со следующей ситуацией.Давайте предположим, что я должен воссоздать рынок Android, и теперь я сталкиваюсь с проблемой загрузки приложений.Я уже сделал наивную реализацию с использованием IntentService.Как вы знаете, служба intentservice одновременно выполняет одну загрузку и автоматически создает поток для ее обработки.Каждый раз, когда начинается загрузка, отправляется уведомление с индикатором выполнения.То же самое, когда загрузка завершена.Невозможно прервать загрузку или управлять очередью.

Теперь мне нужно превратить это в нечто более эффективное.По сути, я должен использовать Sercvice, который создает новый поток для каждой загрузки, и он может обрабатывать больше из них одновременно.Например: у меня есть список действий со списком всех действий.Давайте предположим, что я нажимаю на приложение 1 (которое открывает новое действие под названием ПРИЛОЖЕНИЕ) и нажимаю кнопку загрузки.Служба запускается, создается поток 1 и начинается загрузка.Затем пользователь возвращается к списку действий LIST и нажимает на приложение 2, начиная вторую загрузку.Теперь у меня запущено 2 загрузки, это значит, что мне нужны два разных уведомления с двумя разными индикаторами выполнения.

Я могу это сделать.То, что я не могу сделать, это:

  1. Если пользователь возвращается к списку действий LIST и заходит на страницу приложения 1, он должен иметь возможность прервать загрузку 1, то же самое длядругие загрузки.Это означает, что каким-то образом каждая страница приложения нуждается в ссылке на конкретный поток, который выполняет загрузку, и уничтожает ее.Любые предложения или пример?Как я могу передать ему ссылку на тему?

  2. Помимо индикатора выполнения, отображаемого на панели уведомлений, также, если я захожу на загружаемую страницу приложения, мне нужно увидетьиндикатор.Как я могу включить тот же индикатор выполнения, который у меня уже есть, в активность приложения?

1 Ответ

0 голосов
/ 31 августа 2011

Почему бы не вручную управлять индикаторами в области уведомлений.Это позволит вам проектировать интерфейсы для добавления / удаления / обновления этих уведомлений о загрузке по вашему желанию

См. Это для примера

http://united -coders.com / nico-heid/ show-progressbar-в-области-уведомлений как-google-делает-когда-загрузка-от-android

Дополнительные примеры http://www.google.co.uk/search?q=progress+bar+notification+android

...