Обратные вызовы jsonHttpResponseHandler не вызываются

Я отправляю запрос GET на: http://www.opensecrets.org/api/?method=getLegislators&apikey=xxx&output=json&id=ny с использованием Android asynchttp 1.4.3. Я устанавливаю несколько точек останова, но не выдается ни одно исключение и не вызывается ни один из следующих обратных вызовов:

 APIclient.getLegislators(this, enteredState, new JsonHttpResponseHandler() {
        @Override
        public void onSuccess(JSONArray arr) {
            String s= "hello";
        }

        @Override
        public void onSuccess(JSONObject contactsJson) {
            ArrayList<Contact> contacts = Contact.fromJSON(contactsJson);
        }

        /*@Override
        public void onFailure(int statusCode, org.apache.http.Header[] headers, byte[] responseBytes, java.lang.Throwable throwable) {
            //super.onFailure(statusCode, headers, responseBytes, throwable);
        }*/

        @Override
        public void onFailure(Throwable arg0, JSONArray arg1) {
            super.onFailure(arg0, arg1);
            Toast.makeText(getApplicationContext(),
                    "Failed with JSONArray 2nd arg!", Toast.LENGTH_LONG).show();
        }

        // If it fails it fails here where arg1 is the error message(dev inactive)
        @Override
        public void onFailure(Throwable arg0, String arg1) {
            super.onFailure(arg0, arg1);
            Toast.makeText(getApplicationContext(),
                    "getTrailerUrl failed with String 2nd arg!",
                    Toast.LENGTH_LONG).show();
        }

        @Override
        public void onFailure(Throwable arg0, JSONObject arg1) {
            super.onFailure(arg0, arg1);
            Toast.makeText(getApplicationContext(),
                    "Failed with JSONObject 2nd arg!", Toast.LENGTH_LONG).show();
        }

    });

Я попытался понять это, просмотрев http://loopj.com/android-async-http/doc/com/loopj/android/http/JsonHttpResponseHandler.html

Основываясь на этом javadoc, я ввел обратный вызов, который вы видите закомментированным. Я закомментировал это, потому что компилятор не распознал такую ​​родительскую сигнатуру onFailure. Тем не менее, onFailure, которые у меня есть, которые не вызывают ошибок компилятора, не показаны в официальной документации.

Решение в этом сообщении SO, по-видимому, было объединено с банкой, которая у меня есть, поскольку это сообщение было еще в 2012 году: Loopj Android Async Http - onFailure не запущен

Какое переопределение обратного вызова мне не хватает? Я хотел бы узнать, почему мой запрос GET не выполняется. Спасибо


person HukeLau_DABA    schedule 06.09.2014    source источник


Ответы (1)


Я забыл разрешить моему приложению доступ к Интернету в манифесте. Что касается документации, не соответствующей обратным вызовам моего кода, версии могут не совпадать, потому что подписи в исходном коде моего Android async 1.4.3 jar согласуются с моими переопределениями.

person HukeLau_DABA    schedule 07.09.2014