gpt4 book ai didi

java - AsyncHttpClient 在某些情况下不响应

转载 作者:行者123 更新时间:2023-12-01 11:29:01 25 4
gpt4 key购买 nike

我遇到了 AsyncHttpClient 的问题,因为它在某些情况下会响应,而在某些情况下则不会。当我在下面运行此函数时,我没有收到任何数据,并且在 logcat 中我可以看到以下警告:

JsonHttpResponseHandler﹕ onSuccess(int, Header[], JSONArray) was not overriden, but callback was received

这是我的函数代码:

private void getTreningPlan() {
RequestParams params = new RequestParams();
params.put("userId", user.getUserId());
invokeWS(params);
}

private void invokeWS(RequestParams params) {
AsyncHttpClient client = new AsyncHttpClient();
client.get("http://" + Constants.address + ":" + Constants.port + "/silownia_java/rest/plan/plansByID", params, new JsonHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, JSONObject obj) {
Log.i("TAG", "HERE");
try {

TrainingPlan trainingPlan = new TrainingPlan();
ArrayList<TrainingDay> trainingDayArrayList = new ArrayList<TrainingDay>();

JSONArray trainingDays = obj.getJSONArray("trainingDays");

(...............)

} catch (Exception e) {
Toast.makeText(getActivity(), "Niepoprawna odpowiedź serwera", Toast.LENGTH_LONG).show();
}
}

@Override
public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) {
if (statusCode == 404) {
Toast.makeText(getActivity(), "404 - Nie odnaleziono serwera!", Toast.LENGTH_LONG).show();
} else if (statusCode == 500) {
Toast.makeText(getActivity(), "500 - Coś poszło nie tak po stronie serwera!", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getActivity(), throwable.toString(), Toast.LENGTH_LONG).show();
Log.i(TAG, throwable.toString());
}
}
});
}

我不知道为什么会发生这种情况,因为我在项目中的某些情况下使用 AsyncHttpClient 并且它总是表现良好。我可以补充一点,我的应用程序与我的服务器有连接,并且在服务器端此 http 响应良好。

最佳答案

当http响应是JSONObject时它可以工作,但是当响应是JSONArray时,它会出现这个问题。如果您使用

,请确保返回 JSONObject
 @Override
public void onSuccess(int statusCode, Header[] headers, JSONObject obj) {
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////如果返回 JSON 数组则

@Override
public void onSuccess(int statusCode, Header[] headers, JSONArray jsonArray) {
}

关于java - AsyncHttpClient 在某些情况下不响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30576120/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com