我像整个互联网一样搜索,但没有答案可以帮助我。
我正在尝试从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中的错误信息:(
希望你们中的一个可以帮助我!感谢您的回答。
答案 0 :(得分:0)
当您尝试与数据库建立连接时,最好在另一个线程中执行此操作以避免应用程序崩溃,因为此类操作可能需要很长时间。您可以使用AsyncTask
在后台执行这些操作。查看开发人员网站,了解有关任务http://developer.android.com/reference/android/os/AsyncTask.html