Как разработчик iOS начал работать с Android, я наткнулся на "Дооснащение". Я понимаю, как реализовать синхронные запросы, но у меня возникают проблемы с внедрением асинхронных запросов с обратными вызовами успеха/отказа. В частности, синтаксис Callback неясен для меня, и нет конкретных примеров того, как это сделать на веб-сайте Retrofit , Square blogpost, представляющий Retrofit, или в другом месте, которое я видел. Может кто-нибудь, пожалуйста, напишите какой-нибудь пример кода на этом? Я зарегистрировал проблему в репозитории Retrofit с просьбой обновить README этой информацией.
Как реализовать асинхронный обратный вызов с использованием сетевой библиотеки Square Retrofit
Ответ 1
После еще нескольких исследований и просто проведя больше времени в мире Android/Java, я понял это, используя пример из своих документов.
Интерфейс:
@GET("/user/{id}/photo")
void listUsers(@Path("id") int id, Callback<Photo> cb);
Реализация:
RestAdapter restAdapter = new RestAdapter.Builder()
.setServer("baseURL")
.build();
ClientInterface service = restAdapter.create(ClientInterface.class);
Callback callback = new Callback() {
@Override
public void success(Object o, Response response) {
}
@Override
public void failure(RetrofitError retrofitError) {
}
};
service.listUsers(666, callback);