Genymotion не может подключиться к серверу?

У меня есть приложение, которое отправляет 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 ответ

Решение

Я нашел в чем проблема:

Как объясняется в этом ответе, поскольку API 11, NetworkOnMainThreadException выбрасывается для информирования с использованием длительных задач (например, http-связей) в главном потоке.

Используя AsyncTask проблема была решена и все работало как надо.

Другие вопросы по тегам