我正在开发一个应用程序,它基于json。我想通过onSuccess方法将数据从一个类传递给其他类。当我请求数据时,数据将被正确接收,但是当我将该数据调用到其他类时,会发生空指针错误。 我的方法是如何将数据从onSuccess传递到其他类?
@Override
protected Void doInBackground(Void... params1) {
RequestParams params;
params = new RequestParams();
params.add("username", str_emailId);
params.add("password", str_password);
params.add("action", action);
String str_result=constant.login(params);
Log.d("Result::--",str_result);
return null;
}
和我的登录方法是
public String login(RequestParams params1) {
client = new AsyncHttpClient();
client.post(Constant.check_login_user, params1, new TextHttpResponseHandler() {
@Override
public void onSuccess(int i, Header[] headers, String response) {
str_result = response;
Log.d("Str_Result: ", str_result);
}
@Override
public void onFailure(int statusCode, Header[] headers, String response, Throwable e) {
if (statusCode == 401) {
jsonString[0] = response;
Log.d("onFailure: ", jsonString[0]);
}
}
});
return str_result;
}
我得到了在成功方法的数据,它会在日志行打印,但在返回str_result变量将返回null,我打印doInBackground()方法中的日志,它将返回空指针错误,我不知道如何?请任何人都可以帮助我如何预先打印这些数据。
因为您使用的是异步http客户端。您在onSuccess启动之前从函数返回值。 – 2016-04-15 11:24:24
我不知道更多关于异步HTTP客户端,所以有没有办法将数据从onSuccess()方法传递给doInBackground()方法 – Shailesh