2013-03-18 209 views
0

我在Android编程方面很新颖。我试图连接并获得链接的响应,例如:https://stackoverflow.com/Android HttpResponse - 在模拟器中工作,但不能在设备中工作

我已经使用HttpResponse获取响应,然后使用EntityUtils.toString(rp.getEntity())函数将响应转换为字符串。我的代码在Emulator中完美运行,但是当我尝试在真实设备(即Samsung Galaxy Tab 7.0)中运行该项目时,它不运行并且说“不幸,...已停止”。

任何人都可以让我知道为什么会发生这种情况,解决方案是什么?代码如下:

public class MainActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     TextView txt = (TextView) findViewById(R.id.textView1); 
     String pageStr = "***"; 

     try 
     { 
      HttpClient hc = new DefaultHttpClient(); 
      HttpPost post = new HttpPost("https://stackoverflow.com/"); 

      HttpResponse rp = hc.execute(post); 

      if(rp.getStatusLine().getStatusCode() == HttpStatus.SC_OK) 
      { 
       pageStr = EntityUtils.toString(rp.getEntity()); 
      } 
      else 
      { 
       Toast.makeText(getApplicationContext(), "Failed!!", Toast.LENGTH_LONG).show(); 
      } 
     }catch(IOException e){ 
      e.printStackTrace(); 
     } 

     txt.setText(pageStr); 

    } 
} 

我已经使用了下列权限在manifest文件:

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

有关此问题的任何帮助或建议将不胜感激。

+0

它坠毁。列出完整的崩溃日志。 – 2013-03-18 18:47:52

+0

以下答案解决了我的问题。 – Mesbahul 2013-03-18 19:33:38

回答

相关问题