/ / Завантажте декілька файлів: DownloadManager або AsyncTasks - android, android-asynctask, android-download-manager

Завантажте декілька файлів: DownloadManager або AsyncTasks - Android, android-asynctask, android-download-manager

Я розробляю додаток, який дозволяє користувачу завантажуватидекілька файлів подкастів з веб-сайту, і я маю певні сумніви щодо того, "як" показувати прогрес завантаження користувача. Наразі мій додаток просто складається з однієї діяльності, яка показує список доступних файлів, і коли користувач натискає елемент, я запускаю DownloadManager. Я отримую кращий досвід використання, зберігаючи DonwloadManager (і сигналом якимось чином, наприклад, змінюючи колір завантаженого файлу, кінець завантаження) або краще використовую AsyncTasks і показую прогрес завантаження програми в окремому вікні (наприклад, фрагмент, який показати панель прогресу для кожного завантажуваного файлу)?

Відповіді:

1 для відповіді № 1

Якщо ви будете використовувати Менеджер завантажень це буде краще завантажити кількафайли. Ви можете встановити запит у черзі, і ваш файл завантажуватиметься, навіть якщо ваша програма не працює. Якщо щось піде не так, тобто втратиться зв’язок, воно відновиться завантаження щоразу, коли ви отримаєте зв’язок.


0 для відповіді № 2

Наскільки мені відомо, Менеджер завантажень клас завантажує по одному файлу за один раз, але дозволяє ставити в чергу кілька файлів. Він також керує такими речами, як втрата підключення тощо, що дуже корисно. Використання Менеджер завантажень ви також можете робити дзвінки для просування файлів за допомогою DownloadManager.request.

Перевагою використання AsyncTask єметоди, що поставляються разом із ним, а саме: onPostExecute, onPreExecute, onProgressUpdate та doInBackground. Ви можете мати зворотний дзвінок, який повідомляє потоку інтерфейсу користувача про оновлення панелі прогресу. Також використання AsyncTask як служби завантаження дозволить одночасно завантажувати декілька файлів, а не ставити їх у чергу.

Я сподіваюсь, це допоможе.