Создайте обработчик пользовательского завершения / обратного вызова для возврата объектов после завершения запроса HTTP

Я – разработчик iOS, начинающий изучать Android. В Swift создание обработчика завершения очень просто, но я все еще не могу найти способ сделать это на Java.

Прошу прощения, если этот вопрос слишком много для людей StackOverflow.

проблема

Я создаю класс для обработки всего моего запроса Http, который выполняется с помощью Retrofit.

Я делаю эту функцию моей RequestHelper.java

 public static void checkEmailAvailability(String email) { MyWebServiceAPI serviceAPI = retrofit.create(MyWebServiceAPI.class); Call<APIResults> call = serviceAPI.checkEmailAvailability(getAuthenticationHeader(), RequestBody.create(MediaType.parse("text/plain"), email)); call.enqueue(new Callback<APIResults>() { @Override public void onResponse(retrofit.Response<APIResults> response, Retrofit retrofit) { //Parse Response Json //Get some value and place it inside an object //ANDI WOULD LIKE RETURN SOME BOOLEAN VALUE AND SOME OTHER STRING } @Override public void onFailure(Throwable t) { //I WOULD LIKE A BOOLEAN VALUE HERE } }); } 

Я называю это так из моей MainActivity

 RequestHelper.checkEmailAvailability("user@user.com"); 

Теперь функция по-прежнему недействительна, но я хотел бы, чтобы она возвращала что-то после метода onResponse и onFailure .

Любые мысли, пожалуйста?

Вы должны передать объект Callback в качестве параметра checkEmailAvailability() .

И реализуйте интерфейс при вызове метода из MainActivity и используйте параметр response в методе MainActivity onXXX() в качестве данных, возвращаемых для обновления интерфейса.

Intereting Posts
ОШИБКА: Не удалось установить на устройство, не найдено устройств -cordova с помощью visual studio Передача объекта GoogleApiClient из одного действия в другое Получите доступ к ответу JSON от веб-браузера android Tcpdump trace на android – не удалось загрузить библиотеку «libssl.so», необходимую «/ system / bin / tcpdump» Android KitKat HttpURLConnection отключает AsyncTask Является ли Firebase Cloud Messaging бесплатным? Изменение Android ProgressDialog доступно при работе диалога Dalvik ищет .so файл с расширением '.0' – почему? Как поместить несколько размеров виджетов в один apk? Нажатие кнопки переключения между динамиком и громкой связью Автоматическая установка Android Круговые текстовые представления, такие как Google Messenger Как показать веб-страницу в моем приложении? Как настроить репозитории Git для разработки Android в Eclipse? Обратный отсчет при показе дней в часах минут секунд с использованием таймера обратного отсчета в андроиде