【问题】
折腾:
的过程中,去写了代码:
String strSongUrl = "http://www.songtaste.com/song/" + strUrlOrId; AsyncHttpClient client = new AsyncHttpClient(); //client.get("http://www.google.com", new AsyncHttpResponseHandler() { client.get(strSongUrl, new AsyncHttpResponseHandler() { @Override public void onSuccess(String response) { System.out.println(response); } });
但是结果调试了半天,也没有执行到对应的那行:
System.out.println(response);
即,没有执行到onSuccess函数。
【解决过程】
1.又换了换其他网址:
String strSongUrl = "http://www.songtaste.com/song/" + strUrlOrId; String baiduUrl = "http://www.baidu.com"; AsyncHttpClient client = new AsyncHttpClient(); //client.get("http://www.google.com", new AsyncHttpResponseHandler() { //client.get(strSongUrl, new AsyncHttpResponseHandler() { client.get(baiduUrl, new AsyncHttpResponseHandler() { @Override public void onSuccess(String response) { System.out.println(response); } });
结果问题依旧。根本没法执行到onSuccess。
2.网上找了半天,也看到了:
Request not callback onSuccess() handler
但是很明显,我这里就是普通的string,所以应该用AsyncHttpResponseHandler而不是JsonHttpResponseHandler,但是结果就是运行不到onSuccess。
其中,我当前所用AVD是Android 4.2的。
3.也看了之前的某个解释,说是只有访问网络,返回的状态码是200时,才会执行到onSuccess函数的。
但是此处,不知道为何,始终无法执行到对应的onSuccess。
【总结】
原因未知。
貌似是Android Asynchronous Http Client和Android 4.2不够兼容?
感觉也不像啊。
【后记】
结果后来证实,实际上是之前一些参数配置,环境设置,没弄好,导致与在当前的UI线程中,去访问网络,所以出现异常了,所以无法正常返回,所以才无法执行到onSuccess的。
关于如何正确配置,使得可以访问网络,抓取网页,详情可参考:
转载请注明:在路上 » 【已解决】Android中使用Android Asynchronous Http Client结果无法执行到onSuccess函数