我正在编写一个Android应用程序,并在我的应用程序中使用以下代码行,
httpClient.execute(httpPost);
我已通过调试器验证,httpClient和httpPost都不为null。 但有时,即使存在wifi连接,上面的行也会执行,但服务器没有被命中。可能是造成这个问题的原因是什么?
此外,奇怪的是,我的代码中有三个这样的调用。前两个工作,最后一个不工作。但是,如果我用谷歌的虚拟呼叫替换第二个呼叫,则第三个呼叫有效!
此致
答案 0 :(得分:0)
您也可以从后台线程发送HTTP请求,实际上最佳做法是这样做,因为您不想等待UI线程上的响应。
如果没有收到任何错误消息 - 并且您没有使用do-nothing catch子句处理它,那么问题可能在服务器的代码中没有向您显示请求,或者在网络中。如果是远程服务器,则可能是代理或防火墙出现问题。您可以使用tcpdump,wireshark for Android进行一些数据包捕获。或者通过PC路由您的流量,以在更大的屏幕上查看网络活动。