/ / Изтеглете няколко файла: DownloadManager или AsyncTasks - android, android-asynctask, android-download-manager

Изтеглете няколко файла: DownloadManager или AsyncTasks - android, android-asynctask, android-download-manager

Разработвам приложение, което позволява на потребителя да изтеглямного подкастови файлове от уебсайт и имам съмнения относно "как" показват изтеглянето на напредъка към потребителя. Засега моето приложение просто е съставено от една дейност, която показва списък с наличните файлове и когато потребителят докосне елемент, стартирам DownloadManager. Получавам по-добра практическа работа като съхранявам DonwloadManager (и сигнал по някакъв начин, например чрез промяна на цвета на изтегления файл, края на изтеглянето) или по-добре да използвам AsyncTasks и да покажа напредъка на Dowloading в отделен изглед (например фрагмент да покаже прогресионна лента за всеки файл за изтегляне)?

Отговори:

1 за отговор № 1

Ако ще използвате Мениджър на изтеглянията че ще бъде по-добре да изтеглите множествотофайлове. Можете да зададете заявката в опашката и файлът ви да се изтегля, дори ако приложението ви не се изпълнява. Ако нещо се обърка, т.е. загуби връзката, ще продължи изтеглянето, когато получите връзка.


0 за отговор № 2

Доколкото ми е известно, Мениджър на изтеглянията клас изтегля един файл наведнъж, но ви позволява да опашка множество файлове. Това също така мениджъри неща като загуба на свързаност и т.н., което е наистина полезно. Използвайки Мениджър на изтеглянията можете също така да осъществявате повиквания към напредъка на файловете, като използвате DownloadManager.request.

Предимството от използването на AsyncTask еметодите, които идват с него - именно onPostExecute, onPreExecute, onProgressUpdate и doInBackground. Можете да получите обратно позвъняване, в което да казвате на темата за потребителския интерфейс, за да актуализирате лентата за прогрес. Също така с помощта на AsyncTask, тъй като услугата ви за изтегляне би позволила множество изтегляния на файлове наведнъж, а след това да чакат на опашка изтеглянията.

Надявам се това да помогне.