Сбой, когда я пытаюсь подключить свое приложение к веб-сервисам - PullRequest
0 голосов
/ 02 апреля 2019

На самом деле я работаю в приложении, но у меня проблемы с подключением моих веб-сервисов, у меня есть этот код:

try{
            HttpServices post = new HttpServices ("http://sotem.com.mx/WebServices/controller.php");
            post.add("funcion", "test");
            System.out.println("Si lo mande///////////////////Jhgfdsa");
            String respuesta = post.getRespueta();
            System.out.println(respuesta);
            Toast.makeText(getApplicationContext(),"Cool: "+respuesta, Toast.LENGTH_SHORT).show();

        }catch (Exception ex) {
            Toast.makeText(getApplicationContext(),"error: "+ex.toString(), Toast.LENGTH_SHORT).show();

        }

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

android os network на исключении основного потока

1 Ответ

1 голос
/ 02 апреля 2019

Выполнение сетевых операций в главном потоке не разрешено. Вы можете использовать AsyncTask для выполнения таких операций и обработки результата в методе onPostExecute.

class YourNetworkingTasks extends AsyncTask<Void, Void, Void> {
    @Override
    protected Void doInBackground(Void... voids) {
    try{
        HttpServices post = new HttpServices ("http://sotem.com.mx/WebServices/controller.php");
        post.add("funcion", "test");

        String respuesta = post.getRespueta();
        Log.d("Output", respuesta);
        // DON'T DO ANY UI CHANGES LIKE TOAST FROM BACKGROUND THREAD.. Toast.makeText(getApplicationContext(),"Cool: "+respuesta, Toast.LENGTH_SHORT).show();

    }catch (Exception ex) {
       // DON'T DO ANY UI CHANGES LIKE TOAST FROM BACKGROUND THREAD..  Toast.makeText(getApplicationContext(),"error: "+ex.toString(), Toast.LENGTH_SHORT).show();
    }
return null;
}

protected void onPostExecute(RSSFeed feed) {
    // TODO: YOU CAN MAKE U.I. Changes Like Display text in TextView, TOAST HERE.
    // TODO: do something with the result
  }
}

И напишите new YourNetworkingTasks().execute();, чтобы запустить этот код в фоновом потоке.

Обратите также внимание, что, поскольку вы используете http , а не https , вы можете получить Исключение сетевой безопасности и не получить никакого вывода из-занедавнее изменение безопасности в Android.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...