2013-06-28 176 views
0

我想使用HttpGet设置HTTP连接,但我没有从网站获取任何东西。网站上唯一的文字是字符串阅读:“错误:用户名未通过”。我已经看过关于这个问题的其他问题/答案,但他们会分析JSON格式。不过,我只是想查看我回复的内容。这可能吗? android代码只接受JSON格式的响应吗?如果是这样,这不包括一个类似于我应该从网站回来的字符串吗?我错过了什么?这里是我的代码:HttpGet不返回任何东西 - android

public void onClick(View v) { 

    //Create a default HTTPClient to setup retrieve data functionality 
    httpclient = new DefaultHttpClient(); 

    //Create new HTTP GET with URL to php file 
    httpget = new HttpGet("http://satpreet.com/mobile/auth.php"); 

    try { 
     response = httpclient.execute(httpget); 
     entity = response.getEntity(); 

     InputStream instream = entity.getContent(); 
     resultdata = convertStreamToString(instream); 
    } catch (Exception e) { 
     Toast.makeText(getBaseContext(), "Hit Exception", Toast.LENGTH_LONG).show(); 
    } 


    //For viewing the result 
    LinearLayout lView = new LinearLayout(this); 
    TextView myText = new TextView(this); 
    myText.setText(resultdata); 
    lView.addView(myText); 
    setContentView(lView); 

最后一部分可能不是调试我的代码的最佳方式。你能建议一个更好的方法吗?我尝试过使用log.i,但是当我通过Log Tag设置过滤器时,没有任何东西被捕获。

谢谢。

回答

0

你添加所需的权限

<uses-permission android:name="android.permission.INTERNET"/> 

到AndoridManifest?

也许也改变这一点:

httpclient.execute(httpget); 

到:

httpclient.execute(httpget, new BasicHttpContext()); 

还要注意,你必须以异步方式使用此代码。否则,在真实设备上运行时会出现一些异常情况。

+0

是的,我已经将所需的Internet权限添加到AndroidManifest.xml文件。我也按照您的建议进行了更改,但是我收到的响应仍为空。 – hkg

+0

我试图通过代码。我在上面写了一个断点: – hkg

+0

我试图通过代码。我在以下几行提供了一个断点: httpget = new HttpGet(“http://satpreet.com/mobile/auth.php”); response = httpclient.execute(httpget); entity = response.getEntity(); Toaster.makeText(getBaseContext()。“Hit Exception”,Toast.LENGTH_LONG).show(); 断点在前两个停止,但不会在第三个断点处断开,并在第四个断点断开,这意味着它陷入异常情况。这意味着代码尝试执行但属于异常。这是为什么发生? – hkg