Какой путь службы Android выбрать для реализации большой загрузки? - PullRequest
1 голос
/ 17 июля 2010

Я пытаюсь реализовать RESTful API, в котором мне нужно загружать файлы, которые являются относительно большими для мобильной платформы. Загрузка может занять от 30 секунд до 5 минут.

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

Это две вещи, с которыми я столкнулся.

  1. Использование IntentService - обрабатывает рабочий поток, поэтому мне не нужно.
  2. Используя мой собственный тип Service - все еще нужно реализовать AsyncTask для обработки большого процесса.
  3. Реализация AsyncTask в одноэлементном файле, который позволил бы мне выполнять всю работу там, но без использования класса обслуживания.

У меня вопрос, какой метод является лучшим - если его нет в списке, но он является более подходящим решением моей проблемы, тогда я был бы признателен за предложения.

После исследования всех этих методов я все еще не могу понять одну вещь. Допустим, я загружаю файлы размером 2 МБ, но я хочу знать, когда это будет сделано. Например, допустим, у меня есть сервис, который загружает изображение и возвращает его, и imageID - мне нужно знать, когда этот сервис возвращает imageID - обработать его, а затем перейти к следующей загрузке, пока все остальные не будут закончены.

Как всегда, заранее спасибо.

РЕДАКТИРОВАТЬ: я забыл указать, что при загрузке я хочу, чтобы приложение было пригодным для использования - это означает, что я могу переключаться между действиями и при этом запускать ту же службу.

1 Ответ

1 голос
/ 28 июля 2010

Я использовал IntentService. Он расширяет сервис, так что он в основном имеет все функции обычного сервиса, ожидайте, что он обрабатывает потоки для меня, поэтому мне не нужно беспокоиться об этом. Это работает очень хорошо в данный момент.

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