Я перехожу к Retrofit и пытаюсь понять правильную архитектуру для использования с асинхронными обратными вызовами.
Например, у меня есть интерфейс:
interface RESTService{
@GET("/api/getusername")
void getUserName(@Query("user_id") String userId,
Callback<Response> callback);
}
И я запускаю это из основного действия:
RestAdapter restAdapter = new RestAdapter.Builder()
.setServer("WEBSITE_URL")
.build();
RESTService api = restAdapter.create(RESTService.class);
api.getUserName(userId, new Callback<Response> {...});
Затем пользователь поворачивает устройство, и у меня есть новая активность... Что здесь произошло? Как я могу получить ответ на новую активность (я предполагаю, что вызов api в фоновом режиме будет выполняться дольше, чем первый жизненный цикл). Может быть, я должен использовать статический экземпляр обратного вызова или что? Пожалуйста, покажите мне правильный путь...