Ich bin ein iOS-Entwickler, der mit dem Erlernen von Android beginnt. In Swift ist das Erstellen eines Completion-Handlers sehr einfach, aber ich finde immer noch keinen Weg, dies in Java zu tun.Erstellen eines benutzerdefinierten Abschluss-/Callback-Handlers zum Zurückgeben von Objekten nach Abschluss einer HTTP-Anforderung
Es tut mir leid, wenn diese Frage für StackOverflow Leute zu noob ist.
Problem
ich eine Klasse bin die Schaffung all meine HTTP-Anforderung zu handhaben, die Nachrüstung erfolgt über.
Ich mache diese Funktion meine 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
}
});
}
ist ich es so nennen von meinem MainActivity
RequestHelper.checkEmailAvailability("[email protected]");
Nun wird die Funktion immer noch leer ist, aber ich möchte es etwas nach dem zurückkehren auf der onResponse
und onFailure
Methode.
Irgendwelche Gedanken bitte?
Ich möchte einen anderen Callback (Custom) haben. Weil ich die Antwort analysieren und den Wert in einem Callback zurückgeben werde. – JayVDiyk
@JayVDiyk Sie können etwas tun wie: öffentliche void checkEmailAvailability (String-E-Mail, letzten Callback Listener) und onResponse if (Listener! = Null) { listener.success (Retrofit, Antwort); } onFailure if (Listener! = Null) { listener.failure (t); –
JoCuTo
@JeCuRo Danke für die Antwort. Sagen wir. Ich möchte einen booleschen Wert im Callback zurückgeben. Wie würde ich es machen? – JayVDiyk