Гость
Форумы / Android [игнор отключен] [закрыт для гостей] / Загрузка данных с удалённого сервера / 8 сообщений из 8, страница 1 из 1
19.09.2015, 03:03
    #39055794
НикоДимиден
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка данных с удалённого сервера
Здравствуйте! Подскажите пожалуйста, как лучше, правильно или предпочтительнее, загружать данные с удаленного сервера, в мобильное приложение? А именно через какой загрузчик.

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

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

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

Так как все-таки правильно , или предпочтительнее, в этих двух случаях Данные№1, Данные№2, использовать загрузку данных?
...
Рейтинг: 0 / 0
19.09.2015, 13:27
    #39055936
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка данных с удалённого сервера
правильно - понятие расплывчатое, а для поставленной задачи работают ВСЕ средства включая низкоуровневые HttpUrlConnection и httpclient (последний выброшен из актуального сдк, так что это минус в некотором смысле). выбери то, что тебе больше нравится, удобнее и эффективнее в использовании. берешь каждую технологию из списка и реализуешь пару методов. сравниваешь ощущения. к твоему списку можно еще добавить restclient из androidannotations.
...
Рейтинг: 0 / 0
19.09.2015, 14:35
    #39055969
НикоДимиден
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка данных с удалённого сервера
chpashaправильно - понятие расплывчатое, а для поставленной задачи работают ВСЕ средства включая низкоуровневые HttpUrlConnection и httpclient (последний выброшен из актуального сдк, так что это минус в некотором смысле). выбери то, что тебе больше нравится, удобнее и эффективнее в использовании. берешь каждую технологию из списка и реализуешь пару методов. сравниваешь ощущения. к твоему списку можно еще добавить restclient из androidannotations.

Да, я имел в виду использования restclient через AsyncTask )
А есть ли смысл restclient использовать через LoaderManager и AsyncTaskLoader ? Хотя через обычный AsyncTask, работает нормально, как мне кажется. Во всяком случаи пока ничего неприятного не происходило.
...
Рейтинг: 0 / 0
19.09.2015, 16:12
    #39056011
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка данных с удалённого сервера
НикоДимиден А есть ли смысл restclient использовать через LoaderManager и AsyncTaskLoader ?
нет. гораздо элегантней использовать средства androidannotations там где это возможно. как-то так

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
@AfterInjections
void onCreate() {
   loadHttpData();
}

@Background
void loadHttpData() {
  MyData data = rpcClient.loadHttpData(); //не забываем исключения обработать
  onHttpDataLoaded(data);
}

@UiThread
void onHttpDataLoaded(MyData result) {

}



з.ы. это кстати безотносительно к тому, restclient будет юзаться или что-то другое. смысл в том, что AsyncTask слишком громоздкое и неэлегантное решение (много кода). либо юзаем androidannotations, либо библиотеку типа volley, которая сама разруливает http вызовы в потоке и возврат в Gui-Thread
...
Рейтинг: 0 / 0
21.09.2015, 10:04
    #39057027
Джибс
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка данных с удалённого сервера
да никакой разницы.
просто Volley был представлен на Google I/O
retrofit , говорят не плох, я не пробовал.
я юзал DataDroid и robospice
правда остановился на robospice , все таки не нужно пилить самому кеш, есть готовое решение.


если брать общую картину(и не вдавать в тип реализации REST), то в принципе они схожи по работе
...
Рейтинг: 0 / 0
21.09.2015, 10:05
    #39057029
Джибс
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка данных с удалённого сервера
НикоДимиденДа, я имел в виду использования restclient через AsyncTask )
А есть ли смысл restclient использовать через LoaderManager и AsyncTaskLoader ? Хотя через обычный AsyncTask, работает нормально, как мне кажется. Во всяком случаи пока ничего неприятного не происходило.

А смысл масло масляным делать ?
...
Рейтинг: 0 / 0
21.09.2015, 11:40
    #39057144
Dim666
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка данных с удалённого сервера
Имхо всё зависит от ситуации.

Мне например приходиться выполнять сетевой обмен (юзаю Retrofit в синхронном режиме) внутри AsyncTaskLoader-ов, т.к. сервер присылает лишь новые данные (т.е. те, которые я еще от него не получал). Соответственно, если в момент запроса (когда сервер уже отправил данные) произойдёт поворот экрана, то loader гарантированно доработает, записав новые данные в локальную sqlite-базу. С androidannotations такое скорее всего явно не получится, ибо там всё завязано на активити (а она будет "убита" в момент переворота).
Если потеря сетевых данных в подобных ситуациях не критична, то конечно можно поступать проще.
...
Рейтинг: 0 / 0
21.09.2015, 11:47
    #39057149
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка данных с удалённого сервера
Dim666Если потеря сетевых данных в подобных ситуациях не критична, то конечно можно поступать проще.
еще можно не убивать активити, которые делают тяжелую работу, дешевле вручную поворот экрана разрулить.
...
Рейтинг: 0 / 0
Форумы / Android [игнор отключен] [закрыт для гостей] / Загрузка данных с удалённого сервера / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]