Я пытаюсь реализовать RESTful API, в котором мне нужно загружать файлы, которые являются относительно большими для мобильной платформы. Загрузка может занять от 30 секунд до 5 минут.
Я бы хотел, чтобы мое приложение полностью использовалось во время загрузки. Я проводил некоторые исследования и наткнулся на несколько методов, из которых я не могу решить, какое решение моей проблемы является правильным.
Это две вещи, с которыми я столкнулся.
- Использование
IntentService
- обрабатывает рабочий поток, поэтому мне не нужно.
- Используя мой собственный тип
Service
- все еще нужно реализовать AsyncTask
для обработки большого процесса.
- Реализация
AsyncTask
в одноэлементном файле, который позволил бы мне выполнять всю работу там, но без использования класса обслуживания.
У меня вопрос, какой метод является лучшим - если его нет в списке, но он является более подходящим решением моей проблемы, тогда я был бы признателен за предложения.
После исследования всех этих методов я все еще не могу понять одну вещь. Допустим, я загружаю файлы размером 2 МБ, но я хочу знать, когда это будет сделано. Например, допустим, у меня есть сервис, который загружает изображение и возвращает его, и imageID - мне нужно знать, когда этот сервис возвращает imageID - обработать его, а затем перейти к следующей загрузке, пока все остальные не будут закончены.
Как всегда, заранее спасибо.
РЕДАКТИРОВАТЬ: я забыл указать, что при загрузке я хочу, чтобы приложение было пригодным для использования - это означает, что я могу переключаться между действиями и при этом запускать ту же службу.