У меня проблема с AsyncHttpClient, потому что он в некоторых случаях отвечает, а в некоторых случаях и нет. Когда я запускаю эту функцию ниже, я не получаю никаких данных и в LogCat Я вижу следующий Warining:AsyncHttpClient не отвечает в некоторых случаях
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 отвечает хорошо.
EDIT: Да, это работает ,. Спасибо! :) – user3448282