有没有办法来调试通过Eclipse中的Andr​​oid应用程序http请求?

有没有办法来调试通过Eclipse中的Andr​​oid应用程序http请求?

问题描述:

这个问题是不言而喻的,但我会尽力澄清了。让我以后的http请求通过应用程序来连接本地DATABSE

The question speaks for itself but I will try to clarify more. after make my http request through the app to connect a local databse

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

JSON的回报率是零;这将引发一个致命错误,crashs我的应用程序,它不喂我回到哪里还是什么究竟是通过请求的错误。我认为错误是PHP文件中被称为具有urlCreate参数,所以我怎么能跟踪和调试在Eclipse PHP文件它正在通过一个Android应用程序调用时?

the return of json is being null; this throws a fatal error, crashs my app and it doesnt feeds me back about where or what exactly is the error through the request. I think the error is inside the php file being called with the "urlCreate" parameter, so how can I track and debug the php file inside eclipse when its being called through an android app?

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

Found my own answer: Yes, there is a way to do this.

在您的解析器(JSON解析器在我的情况这是内部JSonparser.java定义),为默认值,你可能将不得不这样code:

Inside your parser (Json parser in my case which was defined inside JSonparser.java), as default, you are probably going to have this code:

 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的反馈,响应的反馈更加具体:

As you can see here is where you http request is made (in this case a post one). Now what you need to do is after those lines create one logcat feedback, a response feedback to be more specific:

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

现在,打开的logcat [窗口 - >显示视图 - >其他 - > Android的 - > logcat的]和加号按钮添加新的筛选器。在屏幕这就是会弹出要用作过滤器名称类型的任何东西(在我的情况,如u可以看到它已经Response),并作为标签作罢了在的同名Log.d(回应,所有);

Now, open the logcat [ Window -> Show View -> Other -> Android -> Logcat] and add a new filter on the plus button. On the screen thats gonna pop up type Anything you want as Filter name (in my case as u can see its already Response) and as Tag give the same name u gave at Log.d("Response",all);.

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

Run you application and you will see that when you call the connection with the database, some php moves that can cause errors (such as connection request) will come up in this filter. For example the last error log I received was:

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文件来获取怎么回事更好的视野。

One tip is to export and save this log as one html file to get a better view of whats going on.

干杯。