私はAndroidを学ぶためのiOS開発者です。 Swiftでは、補完ハンドラを作成するのは簡単ですが、Javaで行う方法はまだありません。HTTP要求が完了した後にオブジェクトを返すカスタム補完/コールバックハンドラを作成する
この質問がStackOverflowの人にとってはあまりにも問題であれば、私はごめんなさい。
問題
私はレトロフィットを使用して行われるすべての私のHTTPリクエストを処理するためのクラスを作成しています。
私は、この関数は、私は今の機能はまだ無効であるが、それは後に何かを返すようにするために、私は希望私のMainActivity
RequestHelper.checkEmailAvailability("[email protected]");
からこのようにそれを呼び出す私の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
}
});
}
であることを確認してくださいonResponse
およびonFailure
の方法を参照してください。
何か考えてください。
私は別のコールバック(カスタム)をしたいと思います。私は応答を解析し、コールバックでその値を返します。 – JayVDiyk
@JayVDiykあなたは次のようなことができます:public void checkEmailAvailability(String email、最終コールバックリスナー)とonResponse if(listener!= null){ listener.success(retrofit、response); } onFailure if(listener!= null){ listener.failure(t); –
JoCuTo
@JeCuRo返信ありがとうございます。まあ言ってみれば。私はコールバックにブール値を返すしたい。どのように私はそれを行うに行くだろうか? – JayVDiyk