Mediante el uso de AsyncTask (recomendado)
importar androidx.appcompat.app.AppCompatActivity; importar android.os.AsyncTask; importar android.os.Bundle; importar android.widget.TextView; importar java.io.BufferedReader; importar java.io.IOException; importar java.io.InputStreamReader; importar java.net.URL; clase pública MainActivity extiende AppCompatActivity { TextView textLoad, textMessage; final String strMessage = “https://sites.google.com/site/androidersite/text.txt”; @Override protected void onCreate(Paquete de estado de instancia guardado) { super.onCreate(estado de instancia guardado); setContentView(R.diseño.actividad_principal); textLoad = findViewById(R.id.textLoad); mensaje de texto = findViewById (R.id.textMessage); textLoad.setText(“Cargando…”); nueva MiTarea().ejecutar(); } clase privada MyTask extiende AsyncTask{ String resultado; @Override protected Void doInBackground(Void… voids) { URL url; intente { url = nueva URL (strMessage); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(url.openStream())); Cadena cadenaBuffer; Cadena cadena = “”; while ((stringBuffer = bufferedReader.readLine()) != null){ string = String.format(“%s%s”, string, stringBuffer); } bufferedReader.close(); resultado = cadena; } catch (IOException e){ e.printStackTrace(); resultado = e.toString(); } devuelve nulo; } @Override protected void onPostExecute(Void aVoid) { textMessage.setText(resultado); textLoad.setText(“Terminado”); super.onPostExecute(aVoid); } } }Deshabilitar modo estricto (no recomendado)
if (android.os.Build.VERSION.SDK_INT > 9) { StrictMode.ThreadPolicy política = new StrictMode.ThreadPolicy.Builder().permitAll().build(); Modo estricto.setThreadPolicy(política); }Última actualización: 11 de junio de 2023
Sandeep Bhandari tiene una Licenciatura en Ingeniería Informática de la Universidad de Thapar (2006). Tiene 20 años de experiencia en el campo de la tecnología. Tiene un gran interés en varios campos técnicos, incluidos los sistemas de bases de datos, las redes informáticas y la programación. Puedes leer más sobre él en su página de biografía.
¿Qué piensas?
6
4
11
9
16
10
Es desconcertante ver la sugerencia de desactivar el modo estricto en el código. Una decisión ciertamente cuestionable.
Parece una contradicción cómica recomendar algo y al mismo tiempo afirmar que no es recomendable.
Estoy de acuerdo, priorizar la seguridad siempre debería ser innegociable en el desarrollo de aplicaciones.
La dependencia del código de AsyncTask y el manejo adecuado de errores son un buen ejemplo para otros desarrolladores.
Absolutamente, es importante dar un ejemplo positivo en la comunidad de desarrolladores.
No se recomienda deshabilitar el modo estricto debido a posibles problemas de seguridad y rendimiento.
Es irónico que el código sugiera deshabilitar el modo estricto y mencione que no es recomendable.
De acuerdo, es importante priorizar la seguridad y el rendimiento en el desarrollo de Android.
El uso de AsyncTask y la implementación de actualizaciones de la interfaz de usuario en onPostExecute muestran buenas prácticas de codificación.
Es refrescante ver un código limpio y organizado que prioriza la experiencia del usuario.
De hecho, mantener un alto estándar de codificación es esencial en el desarrollo de software.
El uso de AsyncTask en este código demuestra una comprensión de las operaciones asincrónicas en Android.
Este código está muy bien estructurado y es fácil de entender. ¡Gran trabajo!
Estoy de acuerdo, el uso de AsyncTask para operaciones de red es una buena práctica.
No me convence la decisión de desactivar el modo estricto. La seguridad nunca debe verse comprometida.
Comparto tus preocupaciones. La seguridad siempre debe ser una prioridad máxima en el desarrollo de aplicaciones.
El código demuestra el manejo adecuado de errores y proporciona mensajes informativos al usuario.
Por supuesto, los usuarios siempre deben estar informados sobre cualquier problema que surja.
El manejo de errores es crucial en cualquier aplicación para garantizar una buena experiencia de usuario.
El uso de AsyncTask en este código proporciona una separación clara entre la interfaz de usuario y las tareas en segundo plano. ¡Bien hecho!
Sí, sigue las mejores prácticas para manejar tareas en segundo plano en el desarrollo de Android.
Si bien se puede recomendar AsyncTask, es importante considerar las posibles pérdidas de memoria que puede causar.
Es cierto que AsyncTask puede provocar pérdidas de memoria si no se utiliza con cuidado. Los desarrolladores deben ser conscientes de esto.