2015-09-11 128 views
-4

我搜索了整個互聯網,但沒有答案可以幫助我。執行HTTP請求時NetworkOnMainThreadException

我想從MySQL數據庫中獲取數據字符串,但只是得到這'andoid.os.NetworkOnMainThreadException'錯誤。任何人都可以幫我嗎?

這裏是我的代碼:

public String getInformationForBarcode(String barcode) { 
    try { 

     HttpClient httpClient = new DefaultHttpClient(); 
     HttpPost httpPost = new HttpPost("http://www.example.com"); // Yes, i changed this in live code to my url with data in it 
     ResponseHandler<String> responseHandler = new BasicResponseHandler(); 
     final String response = httpClient.execute(httpPost, 
       responseHandler); 
     return response.trim(); 
    } catch (Exception e) { 
     System.out.println("ERROR : " + e.toString()); 
     return "error"; 
    }   
} 

是的,我設置了

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

我得到的是logcat的錯誤消息:(你

希望可以幫我!

謝謝回答。

+2

可能重複的[android.os.NetworkOnMainThreadException](http://stackoverflow.com/questions/6343166/android-os-networkonmainthreadexception) – Emil

+0

@ user3244807:你是否在線程或AsyncTask上調用'getInformationForBarcode()'? – AndiGeeky

+0

@ user3244807:請不要在主UI線程上執行任何網絡操作。 – AndiGeeky

回答