完成后获取android AsyncHttpClient响应
您好,我正在使用完成后获取android AsyncHttpClient响应,android,rest,android-async-http,Android,Rest,Android Async Http,您好,我正在使用AsyncHttpClient向restfulapi发送请求 问题是我想在onSuccess中获得结果,并将其从拥有此方法的类传递给我的活动 public int send(JSONObject parameters,String email,String password){ int i =0; try { StringEntity entity = new StringEntity(parameters.toString());
AsyncHttpClient
向restful
api发送请求
问题是我想在onSuccess
中获得结果,并将其从拥有此方法的类传递给我的活动
public int send(JSONObject parameters,String email,String password){
int i =0;
try {
StringEntity entity = new StringEntity(parameters.toString());
entity.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
client.setBasicAuth(email,password);
client.post(context, "http://10.0.2.2:8080/webapi/add", entity, "application/json",
new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
try {
JSONObject json = new JSONObject(
new String(responseBody));
i=statusCode;
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
}
});
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return i;
}
当然,我总是得到i=0
;因为它是Async
方法
我试图让方法sendvoid
并在onSuccess中进行回调,但这会给活动带来很多问题(这是我稍后要问的另一个问题)
那么你有没有办法把i的值作为statusCode来获取呢?
多谢各位
我试图使send方法无效,并在onSuccess内部进行回调
无效的方法是好的
在onSuccess中进行回调可以如下所示
添加回调接口
public interface Callback<T> {
void onResponse(T response);
}
在调用send
的方法之外,创建匿名回调类
webServer.send(json, "email", "password", new Callback<Integer>() {
public void onResponse(Integer response) {
// do something
}
});
webServer.send(json,“电子邮件”,“密码”,新回调(){
公共void onResponse(整数响应){
//做点什么
}
});
我试图使send方法无效,并在onSuccess内部进行回调
无效的方法是好的
在onSuccess中进行回调可以如下所示
添加回调接口
public interface Callback<T> {
void onResponse(T response);
}
在调用send
的方法之外,创建匿名回调类
webServer.send(json, "email", "password", new Callback<Integer>() {
public void onResponse(Integer response) {
// do something
}
});
webServer.send(json,“电子邮件”,“密码”,新回调(){
公共void onResponse(整数响应){
//做点什么
}
});
欢迎光临。但是,不确定为什么要返回响应代码。您应该返回JSONObject吗?欢迎。但是,不确定为什么要返回响应代码。是否应该返回JSONObject?