我正在使用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请求没有成功。感谢
答案 0 :(得分:0)
我忘了允许我的应用访问清单中的互联网。至于与我的代码的回调不匹配的文档,版本可能不匹配,因为我的android async 1.4.3 jar的源代码中的签名与我的覆盖是一致的。