Android Genymotion无法连接到服务器?
我有一个向服务器发送http请求并接收JSON进行处理的应用程序。我在物理设备和Genymotion上都进行了测试 应用程序在物理设备上运行正常,但在Genymotion上会抛出Android Genymotion无法连接到服务器?,android,genymotion,networkonmainthread,Android,Genymotion,Networkonmainthread,我有一个向服务器发送http请求并接收JSON进行处理的应用程序。我在物理设备和Genymotion上都进行了测试 应用程序在物理设备上运行正常,但在Genymotion上会抛出NetworkOnMainThreadException 我跟踪了异常,这是问题的部分: .. DefaultHttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(url); httpPost.setEntity
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似乎无法连接到服务器以执行请求。但它的浏览器可以很好地加载这些站点
那么,有人知道这里出了什么问题吗?我发现了问题所在: 如本文所述,自API 11以来,将抛出
NetworkOnMainThreadException
,以便在主线程中使用长时间运行的任务(如http通信)进行通知
通过使用
AsyncTask
解决了问题,一切正常运行。您在async中调用了上述内容吗task@TonyStark我想我应该。我刚刚阅读了关于此的回复,似乎异常与GenyMoon无关,而是与API级别有关。我的物理设备有安卓2.3,因此没有给我这个例外。我使用的是geny motion,它的工作状态很好,可以从虚拟盒运行你的genymotion模拟器。在这里,您可以选择仿真器的网络类型。