Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
semiromid
7 / 7 / 2
Регистрация: 28.08.2014
Сообщений: 177
#1

Загрузка данных с удалённого сервера - Android

19.09.2015, 03:03. Просмотров 915. Ответов 23
Метки нет (Все метки)

Здравствуйте! Подскажите пожалуйста, как лучше, правильно или предпочтительнее, загружать данные с удаленного сервера, в мобильное приложение? А именно через какой загрузчик.

Данные№1 - Текст
Данные№2 - Текст+Изображение в виде картинок

Есть сторонние библиотеки типа:

1.Retrofit.
2.Volley.
3.А так-же можно использовать загрузка данных не используя эти библиотеки, а через AsyncTask.
4.Так-же, теоретически, можно использовать Loader, стандартный класс Android SDK.

Так как все-таки правильно, или предпочтительнее, в этих двух случаях Данные№1, Данные№2, использовать загрузку данных?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.09.2015, 03:03     Загрузка данных с удалённого сервера
Посмотрите здесь:

Android Получение контента из удалённого файла и вывод его в Toast
Загрузка данных при скроллинге Android
Загрузка файла с сервера Android
Отправка и получение данных (запроса) из сервера Android
Загрузка Xml с сервера и отображение данных в приложении Android
Android Передача данных с сервера на телефон
Возврат данных с сервера. Не срабатывает условие Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
1564 / 1306 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
23.09.2015, 16:01     Загрузка данных с удалённого сервера #21
Rube, ну так Вы спрашивайте, что непонятно. Producer-Consumer? Это стандартный паттерн, с помощью него реализуется слабая связь. Т.е. тот, кто кладёт в менеджер новый url (addUrl) не знает, кто и как его будет дальше обрабатывать. За счёт consumer thread приложение не будет виснуть, с помощью executor service мы регулируем число одновременно выполняющихся потоков. Оно не так сложно, как кажется
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
24.09.2015, 00:04     Загрузка данных с удалённого сервера #22
YuraAAA, загрузка картинок работает, только не могу запустить DownloadManager.stop(), выдает ошибку:
Кликните здесь для просмотра всего текста
09-24 02:00:26.491: E/AndroidRuntime(11433): FATAL EXCEPTION: Thread-244
09-24 02:00:26.491: E/AndroidRuntime(11433): java.util.concurrent.RejectedExecutionException: Task com.app.name.DownloadThread@535e68d0 rejected from java.util.concurrent.ThreadPoolExecutor@536f7ed4[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 44]
09-24 02:00:26.491: E/AndroidRuntime(11433): at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:1979)
09-24 02:00:26.491: E/AndroidRuntime(11433): at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:786)
09-24 02:00:26.491: E/AndroidRuntime(11433): at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1307)
09-24 02:00:26.491: E/AndroidRuntime(11433): at com.app.name.DownloadManager$ConsumerRunnable.run(DownloadManager.java:50)
09-24 02:00:26.491: E/AndroidRuntime(11433): at java.lang.Thread.run(Thread.java:856)

50. executorService.execute(new...)
YuraAAA
1564 / 1306 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
25.09.2015, 12:22     Загрузка данных с удалённого сервера #23
Rube, если честно, я не ожидал что Вы будете использовать код "as-is", я его просто на коленке набросал))
Ну ладно, строку shutdownNow можно закоментировать вообще, это даже правильно будет. Или вызвать awaitTermination или как-то так. Тогда мы дождёмся окончания всех тредов и грохнем его
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2015, 16:27     Загрузка данных с удалённого сервера
Еще ссылки по теме:

Загрузка данных из SQLite для каждого пункта ListView Android
Загрузка базы данных с SD карты Android
Android Получение данных с сервера, длинные запросы
Android Дождаться ответа от сервера
Android Чтение данных с сервера (TCP клиент)

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
25.09.2015, 16:27     Загрузка данных с удалённого сервера #24
YuraAAA, ну до использования надо еще убедиться, что оно работает, и работает лучше чем сервис, который непонятно почему глючит. Вечером проведу тесты.

Добавлено через 3 часа 56 минут
Вобщем также рандомно некоторые картинки не грузит, жму обновить заново - грузит. Видимо надо или библу какую пользовать, либо проверять наличие картинок после загрузки.
Yandex
Объявления
25.09.2015, 16:27     Загрузка данных с удалённого сервера
Ответ Создать тему
Опции темы

Текущее время: 23:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru