Genymotion无法连接到服务器?

时间:2013-11-04 12:07:05

标签: android genymotion networkonmainthread

我有一个应用程序,它向服务器发送一个http请求并接收一个JSON进行处理。我在物理设备和Genymotion上测试它。

应用程序在物理设备上运行良好,但在Genymotion上抛出NetworkOnMainThreadException

我跟踪了异常,这是问题的一部分:

..
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
httpPost.setEntity(new UrlEncodedFormEntity(params,"UTF-8"));

// Exception on this line:
HttpResponse httpResponse = httpClient.execute(httpPost);
//
HttpEntity httpEntity = httpResponse.getEntity();
...

似乎Genymotion无法连接到服务器来执行请求。但它的浏览器加载网站就好了。

所以,谁知道这里出了什么问题?

1 个答案:

答案 0 :(得分:0)

我发现了问题所在:

正如本answer中所述,自API 11以来,NetworkOnMainThreadException被抛出以通知在主线程中使用长时间运行的任务(如http通信)。

通过使用AsyncTask,问题得到解决,一切正常。