Страница 1 из 1

Как в Android получить данные с сервера с помощью Retrofit

Добавлено: 25 окт 2017, 00:15
damager82
 
Retrofit - популярная и удобная библиотека, которая используется, если приложению необходимо работать с сервером. В этой статье я на очень простом примере рассмотрю основы работы с ней.


Click here to read this article!

Re: Как в Android получить данные с сервера с помощью Retrof

Добавлено: 04 янв 2018, 03:27
Chudovishe
Здравствуйте!!! Простите если глупый вопрос =(

Сделал (кажется) всё, как написано.

С базовой точкой https://rawgit.com/startandroid/data/master/messages/ и запросом messages1.json

Получил ответ от сервера...

...напечатал в лог размер полученного массива командой Log.d(TAG, "Response.body().size()=" + response.body().size());

получил

"Response.body().size()=50"

А вот при попытке напечатать элемент полученного массива вот такой командой Log.d(TAG, "Response.body(0)=" + response.body().get(0));

получаю

"Response.body(0)=com.example.myapplication.Message@6d44e66"

вместо

"Response.body(0)={"id":1,"time":1454166946000,"text":"rhoncus dui vel sem sed sagittis nam congue risus semper porta volutpat quam pede lobortis ligula sit amet eleifend pede"}"


Почему так? Я уже перепробовал со своего сервера по разному отдавать json, и вместо списка передавать один массив, но всегда у меня в результате вместо строки с JSON "завернутым" массивом - всегда om.example.myapplication.Message@[абракадабра]

Спасибо большое за помощь!!

Re: Как в Android получить данные с сервера с помощью Retrof

Добавлено: 04 янв 2018, 18:13
Chudovishe
Извиняюсь!!!! Сам разобрался!!

Чтобы написать полученный массив в лог нужно прбежаться по body() в цикле

for (int x = 0; x < response.body().size(); x = x + 1) {
Log.d(TAG, "Response.body.get(0)=" + response.body().get(x));
Log.d(TAG, "id" + response.body().get(x).getId());
Log.d(TAG, "time" + response.body().get(x).getTime());
Log.d(TAG, "text" + response.body().get(x).getText());
Log.d(TAG, "image" + response.body().get(x).getImage());
},

где getId(), getTime(), getText() и getImage() - функции класса получаемых с сервера JSON объёктов