Articles of retrofit

OkHttp + Picasso + Дооснащение

Вопрос в том, как объединить все эти 3 библиотеки в одном проекте? Сделайте один OkHttpClient фоновым слоем для Picasso и Retrofit. Как изменить приоритет, как в Volley lib. (Для разбивки на страницы); благодаря

RxJava и Retrofit2: NetworkOnMainThreadException

Я понимаю, что я использую subscribeOn () / observOn () на MainThread. Каков набор параметров, которые я могу передать в subscribeOn ()? Каков набор параметров, которые я могу передать в функцию наблюдения ()? 12-17 21:36:09.154 20550-20550/rx.test D/MainActivity2: [onCreate] 12-17 21:36:09.231 20550-20550/rx.test D/MainActivity2: starting up observable… 12-17 21:36:09.256 20550-20550/rx.test D/MainActivity2: [onError] 12-17 21:36:09.256 20550-20550/rx.test W/System.err: android.os.NetworkOnMainThreadException […]

RxJava / Retrofit – Как заставить пользователей использовать определенный подкласс Subscriber?

Перед использованием rx.Observable я использовал специальный обратный вызов с модификацией, поэтому я могу добавить определенную логику для обработки ответа / ошибки и не делать этого внутри обратного вызова для каждого запроса в качестве шаблона. Я заставляю пользователей использовать пользовательский обратный вызов, помещая его в подпись метода следующим образом: @GET("/user_endpoint/") void getUser(CustomCallback<User> callback); @GET("/profile_endpoint/") void getProfile(CustomCallback<Profile> […]

Повторная установка ссылки на десериализующий объект JSON на ссылку ref ref на исходную копию

Я использую Microsoft.Net с Breeze для API, и результаты, которые я получаю с помощью Retrofit, вложили повторяющиеся одинаковые объекты. Например, EmployeeJob имеет свойство навигации для клиента, поэтому результат API выглядит так: { Id:1, "Customer_Id": 39, "Customer": { "$id": "2", "$type": "Wit.Trade.Entities.Customer, Wit.Trade", "CourtesyTitle": "Mr", "FirstName": "Ahmad" } } { Id:2 "Customer_Id": 39, "Customer": { "$ref": […]

Модернизация 2: Как установить индивидуальные тайм-ауты по конкретным запросам?

Я установил глобальный тайм-аут в своем адаптере для доработки, выполнив OkHttpClient okHttpClient = new OkHttpClient(); okHttpClient.setReadTimeout(20, TimeUnit.SECONDS); okHttpClient.setConnectTimeout(20, TimeUnit.SECONDS); retrofit = new Retrofit.Builder() .client(okHttpClient) .build(); Большой! Но я хотел бы установить определенный тайм-аут для некоторых запросов. Например public interface MyAPI { @GET() Call<Void> notImportant (@Url String url); @GET Call<Void> veryImportant(@Url String url); So veryImportant calls […]

Как исправить элементы из списка с задержкой в ​​RxJava?

Я использую Retrofit, чтобы получить закладки из REST API: public interface BookmarkService { @GET("/bookmarks") Observable<List<Bookmark>> bookmarks(); } Теперь я хотел бы выпустить каждый элемент из этого списка с задержкой. Я сделал что-то подобное в Java, но onCompleted никогда не запускается. private Observable<Bookmark> getBookmarks() { return getBookmarkService().bookmarks() .flatMap(new Func1<List<Bookmark>, Observable<Bookmark>>() { @Override public Observable<Bookmark> call(List<Bookmark> bookmarks) […]

Дооснащение: отправка запроса POST на сервер в android

Я использую Retrofit для вызова API. Я отправляю почтовый запрос API, но в обратном вызове я получаю пустой JSON, как это {}. Ниже приведен код RetrofitService @POST("/com/searchusers.php") void getUser(@Body JSONObject searchstring, Callback<JSONObject> callBack); Где searchstring JSON подобен этому {"search": "nitesh"}. В ответ я должен получить детали пользователя «nitesh». Ниже приведен код для отправки запроса POST […]

Использование subscribeOn с дооснащением

Существует противоречивая информация о том, когда и следует ли использовать subscribeOn с доработкой. Вот ответ, говорящий, чтобы не использовать subscribeOn . Вот ответ, который, как представляется, подразумевает, что subscribeOn не имеет хорошего набора по умолчанию. Вот пример кода с помощью subscribeOn . Итак, раз для всех, когда следует использовать subscribeOn и с каким потоком? Каковы […]

Ошибка при загрузке файла с помощью Retrofit 2

Я пытаюсь загрузить файл (изображение) на сервер с помощью Retrofit 2 . Я следую этому учебнику, который сначала кажется довольно легким, но в моем случае не работал … Когда я вызываю функцию API, я всегда получаю эту ошибку: W/System.err: java.lang.ArrayIndexOutOfBoundsException: length=1; index=1 W/System.err: at retrofit2.ServiceMethod$Builder.build(ServiceMethod.java:190) W/System.err: at retrofit2.Retrofit.loadServiceMethod(Retrofit.java:166) W/System.err: at retrofit2.Retrofit$1.invoke(Retrofit.java:145) W/System.err: at java.lang.reflect.Proxy.invoke(Proxy.java:393) W/System.err: […]

Android Retrofit 2 + RxJava: слушайте бесконечный поток

Могу ли я использовать Retrofit + RxJava для прослушивания бесконечного потока? Например, поток Twitter. У меня есть это: public interface MeetupAPI { @GET("http://stream.meetup.com/2/rsvps/") Observable<RSVP> getRSVPs(); } MeetupAPI api = new Retrofit.Builder() .baseUrl(MeetupAPI.RSVP_API) .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) .addConverterFactory(GsonConverterFactory.create()) .build() .create(MeetupAPI.class); api.getRSVPs() .subscribeOn(Schedulers.newThread()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(rsvp -> Log.d(TAG, "got rsvp"), error -> Log.d(TAG, "error: " + error), () -> Log.d(TAG, "onComplete")); […]