我是一名 iOS 开发者,开始学习 Android。在 Swift 中,创建完成处理程序非常简单,但我仍然找不到在 Java 中执行此操作的方法。
如果这个问题对 StackOverflow 的人来说太菜鸟了,我很抱歉。
问题
我正在创建一个类来处理我使用 Retrofit 完成的所有 Http 请求。
我使这个函数是我的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
调用该方法时实现该接口(interface),并在onXXX()
方法中使用response
参数作为数据返回更新 UI。
关于java - 创建自定义完成/回调处理程序以在 HTTP 请求完成后返回对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34305301/