Хобрук: Ваш путь к мастерству в программировании

threadid=1 поток завершается с необработанным исключением (group=0x410702a0)

Я разрабатываю приложение для Android, и все в порядке, без ошибок, но когда я запускаю код, я обнаружил эту ошибку ниже, и когда я отслеживаю код, он останавливается на этой строке:

HttpResponse httpResponse = httpClient.execute(httpPost);

часть кода:

try {
        // defaultHttpClient

        DefaultHttpClient httpClient = new DefaultHttpClient();
        HttpPost httpPost = new HttpPost(url);
        httpPost.setEntity(new UrlEncodedFormEntity(params));
        Log.d("w", "2a json...................");
        HttpResponse httpResponse = httpClient.execute(httpPost);
        Log.d("w", "2b json...................");
        HttpEntity httpEntity = httpResponse.getEntity();
        Log.d("w", "2c json...................");
        is = httpEntity.getContent();
        Log.d("w", "3 json...................");
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

ошибки:

threadid=1: thread exiting with uncaught exception (group=0x410702a0)
FATAL EXCEPTION: main
android.os.NetworkOnMainThreadException
    at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1118)
    at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:84)
    at libcore.io.IoBridge.connectErrno(IoBridge.java:127)
    at libcore.io.IoBridge.connect(IoBridge.java:112)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459)
    at java.net.Socket.connect(Socket.java:842)
    at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:119)


Ответы:


1

Создайте асинтаск и выполните сетевой вызов внутри метода doInBackground.

вот твой код

class ABCTask extends AsyncTask<String, Void, Void> {

    private Exception exception;

    protected void doInBackground(String... urls) {
       try {
        // defaultHttpClient

        DefaultHttpClient httpClient = new DefaultHttpClient();
        HttpPost httpPost = new HttpPost(url);
        httpPost.setEntity(new UrlEncodedFormEntity(params));
        Log.d("w", "2a json...................");
        HttpResponse httpResponse = httpClient.execute(httpPost);
        Log.d("w", "2b json...................");
        HttpEntity httpEntity = httpResponse.getEntity();
        Log.d("w", "2c json...................");
        is = httpEntity.getContent();
        Log.d("w", "3 json...................");
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    }

    protected void onPostExecute() {

// write what u want to do after completion of the doInBackground method
    }
 }

 new ABCTask().execute();
15.03.2013
Новые материалы

Понимание СТРУКТУРЫ ДАННЫХ И АЛГОРИТМА.
Что такое структуры данных и алгоритмы? Термин «структура данных» используется для описания того, как данные хранятся, а алгоритм используется для описания того, как данные сжимаются. И данные, и..

Как интегрировать модель машинного обучения на ios с помощью CoreMl
С выпуском новых функций, таких как CoreML, которые упростили преобразование модели машинного обучения в модель coreML. Доступная модель машинного обучения, которую можно преобразовать в модель..

Создание успешной организации по науке о данных
"Рабочие часы" Создание успешной организации по науке о данных Как создать эффективную группу по анализу данных! Введение Это обзорная статья о том, как создать эффективную группу по..

Технологии и проблемы будущей работы
Изучение преимуществ и недостатков технологий в образовании В быстро меняющемся мире технологии являются решающим фактором в формировании будущего работы. Многие отрасли уже были..

Игорь Минар из Google приедет на #ReactiveConf2017
Мы рады сообщить еще одну замечательную новость: один из самых востребованных спикеров приезжает в Братиславу на ReactiveConf 2017 ! Возможно, нет двух других кланов разработчиков с более..

Я собираюсь научить вас Python шаг за шагом
Привет, уважаемый энтузиаст Python! 👋 Готовы погрузиться в мир Python? Сегодня я приготовил для вас кое-что интересное, что сделает ваше путешествие более приятным, чем шарик мороженого в..

Альтернатива шаблону исходящих сообщений для архитектуры микросервисов
Познакомьтесь с двухэтапным сообщением В этой статье предлагается альтернативный шаблон для папки Исходящие : двухэтапное сообщение. Он основан не на очереди сообщений, а на..