2012-11-09 166 views
0

我使用上面的代碼從我的虛擬主機獲取信息。這很好奇,但該腳本在AVD中運行良好,但在我的真實設備(Samsung Galaxy Note)上卻沒有。它不會拋出任何異常。Android http發佈在仿真器上,但不在我的真實設備上

try{ 
    HttpClient htClient = getHttpClient(); 
    HttpPost htPost = new HttpPost("http://myworkingurl/access.php"); 
    Log.i("MyLog", "Print 1"); // this is outputed to LogCat 
    HttpResponse htResponse = htClient.execute(htPost); 
    Log.i("MyLog", "Print 2"); // no output here 
} catch (ClientProtocolException ce) { 
    Log.i("MyLog", ce.getMessage()); // no output here 
} catch (IOException e) { 
    Log.i("MyLog", e.getMessage()); // no output here 
} 

LogCat中沒有錯誤。它輸出「打印1」,跳過try塊中所有剩餘的代碼,調用此方法的類將拋出一個帶有void消息的異常。 注意:我將uses-permission標籤android.permission.INTERNET放在uses-sdk之後,並且在模擬器中正常工作。

請幫忙!

回答

0

您最好在asyncTask中嘗試相同的代碼。這可能是因爲嚴格的模式。

class ARequestTask extends AsyncTask<String, String, String>{ 

     @Override 
     protected String doInBackground(String... params) { 
     //http request here 
     //return the response as string 
     } 
     @Override 
     protected void onPostExecute(String result) { 
      // use the result as you wish 
     } 
相關問題