Saltar al contenido

¿Cómo puedo realizar una solicitud HTTP simple en MainActivity.java? (Android Studio)

Solución:

No debe realizar solicitudes de red en el hilo principal. El retraso es impredecible y podría congelar la interfaz de usuario.

Android fuerza este comportamiento lanzando una excepción si usa el HttpUrlConnection objeto del hilo principal.

Luego, debe realizar su solicitud de red en segundo plano y luego actualizar la interfaz de usuario en el hilo principal. los AsyncTask ¡La clase puede ser muy útil para este caso de uso!

private class GetUrlContentTask extends AsyncTask<String, Integer, String> {
     protected String doInBackground(String... urls) {
        URL url = new URL(urls[0]);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("GET");
        connection.setDoOutput(true);
        connection.setConnectTimeout(5000);
        connection.setReadTimeout(5000);
        connection.connect();
        BufferedReader rd = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        String content = "", line;
        while ((line = rd.readLine()) != null) {
            content += line + "n";
        }
        return content;
     }

     protected void onProgressUpdate(Integer... progress) {
     }

     protected void onPostExecute(String result) {
         // this is executed on the main thread after the process is over
         // update your UI here
         displayMessage(result);
     }
 }

Y comienzas este proceso de esta manera:

new GetUrlContentTask().execute(sUrl)
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *