Thymomenos Gata, в контексте retrofit это значит тело запроса. В каком виде это все отылается (то есть каким способом тело сериализуется) - вы конфигурируете самостоятельно.
Допустим вы хотите передавать данные в JSON. Делаете интерфейс Api:
public interface Api {
@POST("api/v4/persons")
Observable<Person> createPerson(@Body Person person);
@PUT("api/v4/persons/{id}")
Observable<Person> updatePerson(@Path("id") int personId, @Body Person person);
}
Далее, при создании инстанса API вы конфигурируете retrofit:
public Api create()
{
Retrofit retrofit = new Retrofit.Builder()
...
.addConverterFactory(GsonConverterFactory.create(createGson()))
....
.build();
return retrofit.create(Api.class);
}
addConverterFactory - как раз добавляет сериализатор тела. Я юзаю один из стандартных сериализаторов GsonConverterFactory (нужно прописать записимость в grdale compile "com.squareup.retrofit2:converter-gson:${retrofitVersion}").
Тут еще есть метод createGson() - он создает инстанс Gson. Если вам не нужна кастомизаия Gson - можете просто написать new Gson().
Да, я понимаю что дженерики так не работают. С Typescript я не знаком, но в Java это решается генерацией кода во время компиляции, либо предоставлением ссылки на объект класса (не истанс класса, а именно объект который описывает класс, хз есть ли такое в typescript) из которой можно дернуть конструктор.
Можно вопрос в догонку: вы пишете get().map(). Но у меня HttpClient возвращает Observable без метода map. Я читал что чтоб он появился нужно импортировать весь rx целиком, и в своем коде так сделать без проблем. Но HttpClient импортирует облегченный Observable, и его я менять не могу. Таким образом, едсинственный вариант использовать map - это через pipe?
Или можно как-то симпортирвать весь Rx где нить при бутстрапе, и map будет доступен везде? Я просто очень люблю этот Rx (по крайней мере RxJava) и хотел симпортировать сразу весь, размер билда мне не критичен.
вы гляньте в хроме на что время уходит - оттуда и пляшите - вариантов то не много. То что код не трогали ничего не значит - могла база вырасти, воркеры память забили, диск на сервере посыпался и т.п.
Кирилл, ну а флешку с телефона видит? Может кабель битый, или который чисто для зарядки (заряжать заряжает, а данные передать по нему нельзя - недавно узнал что такие тоже есть).
Полностью соглашусь. Java надо изучать отдельно от Android SDK. Лично я изучал Java по книге Герберт Шилдт
Java 8. Полное руководство 9-е издание. Так же переходил с php. От Java кайфую до сих пор - мне язык очень понравился.
Думаю, 8ая версия Java сейчас для андройда самое то - сам андройд работает на Java 7, но гугл выпустил что-то типа бабеля (вы писали js, должны понять о чем я) + реализовал некотрые новые апи из Java 8 (например Time API или Stream API) в новых версиях Android SDK.
Terras, я так понял что спринг-бут как раз пытается изменить эту ситуацию, когда ты получаеш не болванку, а уже что-то рабочее. В целом - там у них на сайте в тотуриалах старт вполне нормально описан, там, правда, везде boot, но многое не завязанно на нам и применимо к чистым пакетам. Ну и документация - она у спринга отличная.
Дониёр Маматкулов, Квадратные скобки нужны, без них при парсинге JSON (в мобильном приложении, или любом другом месте) вы получите ошибку. Как выше сказали - это корректный json-синтаксис.
Допустим вы хотите передавать данные в JSON. Делаете интерфейс Api:
Далее, при создании инстанса API вы конфигурируете retrofit:
addConverterFactory - как раз добавляет сериализатор тела. Я юзаю один из стандартных сериализаторов GsonConverterFactory (нужно прописать записимость в grdale compile "com.squareup.retrofit2:converter-gson:${retrofitVersion}").
Тут еще есть метод createGson() - он создает инстанс Gson. Если вам не нужна кастомизаия Gson - можете просто написать new Gson().