不会调用jsonHttpResponseHandler回调

时间:2014-09-06 22:10:40

标签: java android android-async-http

我正在使用android asynchttp 1.4.3向http://www.opensecrets.org/api/?method=getLegislators&apikey=xxx&output=json&id=ny发出GET请求。我设置了多个断点,但没有抛出任何异常,也没有调用以下回调:

 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年以来的帖子合并后的jar:Loopj Android Async Http - onFailure not fired

我错过了什么回调覆盖?我想知道为什么我的GET请求没有成功。感谢

1 个答案:

答案 0 :(得分:0)

我忘了允许我的应用访问清单中的互联网。至于与我的代码的回调不匹配的文档,版本可能不匹配,因为我的android async 1.4.3 jar的源代码中的签名与我的覆盖是一致的。