有没有办法通过eclipse中的Android应用调试http请求?

时间:2014-03-23 15:15:02

标签: php android eclipse debugging

这个问题不言自明,但我会尝试澄清更多。通过应用程序发出我的http请求后连接本地数据库

JSONObject json = jsonParser.makeHttpRequest(urlCreate,
                        "POST", params);

json的返回值为null;这会引发一个致命的错误,导致我的应用程序崩溃,并且它不会通过请求向我反馈错误的确切位置或内容。我认为错误是在使用" urlCreate"调用的php文件中。参数,那么当通过Android应用程序调用时,如何在eclipse中跟踪和调试php文件?

1 个答案:

答案 0 :(得分:0)

找到我自己的答案:是的,有办法做到这一点。

在你的解析器里面(我的情况下是json解析器,在JSonparser.java中定义),默认情况下,你可能会有这样的代码:

 DefaultHttpClient httpClient = new DefaultHttpClient();
                HttpPost httpPost = new HttpPost(url);
                httpPost.setEntity(new UrlEncodedFormEntity(params));

                HttpResponse httpResponse = httpClient.execute(httpPost);
                HttpEntity httpEntity = httpResponse.getEntity();

正如您在此处所看到的那样是您发出http请求的位置(在本例中是一个帖子)。现在您需要做的是在这些行创建一个logcat反馈之后,响应反馈更具体:

String all=EntityUtils.toString(httpEntity);
                Log.d("Response",all);

现在,打开logcat [Window - >显示视图 - >其他 - > Android - > Logcat]并在加号按钮上添加一个新过滤器。在屏幕上会弹出类型你想要的任何东西作为过滤器名称(在我的情况下,你可以看到它已经响应)和标签给出你在Log.d("Response",all);给出的相同名称。

enter image description here

运行您的应用程序,您将看到当您调用与数据库的连接时,一些可能导致错误的php移动(例如连接请求)将出现在此过滤器中。例如,我收到的最后一个错误日志是:

03-23 14:26:06.611: D/Response(1270): <br />
03-23 14:26:06.611: D/Response(1270): <font size='1'><table class='xdebug-error xe-warning' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
03-23 14:26:06.611: D/Response(1270): <tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Warning: mysql_connect(): Access denied for user 'root'@'localhost' (using password: YES) in C:\wamp\www\android_connect\db_connect.php on line <i>28</i></th></tr>
03-23 14:26:06.611: D/Response(1270): <tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
03-23 14:26:06.611: D/Response(1270): <tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
03-23 14:26:06.611: D/Response(1270): <tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0003</td><td bgcolor='#eeeeec' align='right'>143616</td><td bgcolor='#eeeeec'>{main}(  )</td><td title='C:\wamp\www\android_connect\create_product.php' bgcolor='#eeeeec'>..\create_product.php<b>:</b>0</td></tr>
03-23 14:26:06.611: D/Response(1270): <tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.0006</td><td bgcolor='#eeeeec' align='right'>150200</td><td bgcolor='#eeeeec'>DB_CONNECT->__construct(  )</td><td title='C:\wamp\www\android_connect\create_product.php' bgcolor='#eeeeec'>..\create_product.php<b>:</b>20</td></tr>
03-23 14:26:06.611: D/Response(1270): <tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>0.0006</td><td bgcolor='#eeeeec' align='right'>150216</td><td bgcolor='#eeeeec'>DB_CONNECT->connect(  )</td><td title='C:\wamp\www\android_connect\db_connect.php' bgcolor='#eeeeec'>..\db_connect.php<b>:</b>11</td></tr>
03-23 14:26:06.611: D/Response(1270): <tr><td bgcolor='#eeeeec' align='center'>4</td><td bgcolor='#eeeeec' align='center'>0.0008</td><td bgcolor='#eeeeec' align='right'>150832</td><td bgcolor='#eeeeec'><a href='http://www.php.net/function.mysql-connect' target='_new'>mysql_connect</a>
03-23 14:26:06.611: D/Response(1270): (  )</td><td title='C:\wamp\www\android_connect\db_connect.php' bgcolor='#eeeeec'>..\db_connect.php<b>:</b>28</td></tr>
03-23 14:26:06.611: D/Response(1270): </table></font>
03-23 14:26:06.611: D/Response(1270): Access denied for user 'root'@'localhost' (using password: YES)<br />
03-23 14:26:06.611: D/Response(1270): <font size='1'><table class='xdebug-error xe-warning' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
03-23 14:26:06.611: D/Response(1270): <tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Warning: mysql_close(): no MySQL-Link resource supplied in C:\wamp\www\android_connect\db_connect.php on line <i>42</i></th></tr>
03-23 14:26:06.611: D/Response(1270): <tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
03-23 14:26:06.611: D/Response(1270): <tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
03-23 14:26:06.611: D/Response(1270): <tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0003</td><td bgcolor='#eeeeec' align='right'>143616</td><td bgcolor='#eeeeec'>{main}(  )</td><td title='C:\wamp\www\android_connect\create_product.php' bgcolor='#eeeeec'>..\create_product.php<b>:</b>0</td></tr>
03-23 14:26:06.611: D/Response(1270): <tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.0006</td><td bgcolor='#eeeeec' align='right'>150200</td><td bgcolor='#eeeeec'>DB_CONNECT->__construct(  )</td><td title='C:\wamp\www\android_connect\create_product.php' bgcolor='#eeeeec'>..\create_product.php<b>:</b>20</td></tr>
03-23 14:26:06.611: D/Response(1270): <tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>0.0006</td><td bgcolor='#eeeeec' align='right'>150216</td><td bgcolor='#eeeeec'>DB_CONNECT->connect(  )</td><td title='C:\wamp\www\android_connect\db_connect.php' bgcolor='#eeeeec'>..\db_connect.php<b>:</b>11</td></tr>
03-23 14:26:06.611: D/Response(1270): <tr><td bgcolor='#eeeeec' align='center'>4</td><td bgcolor='#eeeeec' align='center'>0.0110</td><td bgcolor='#eeeeec' align='right'>146960</td><td bgcolor='#eeeeec'>DB_CONNECT->__destruct(  )</td><td title='C:\wamp\www\android_connect\db_connect.php' bgcolor='#eeeeec'>..\db_connect.php<b>:</b>0</td></tr>
03-23 14:26:06.611: D/Response(1270): <tr><td bgcolor='#eeeeec' align='center'>5</td><td bgco

一个提示是将此日志导出并保存为一个html文件,以便更好地了解最新情况。

干杯。

enter image description here