AsyncTask
Uso de AsyncTask
Hilos y procesos en Android
4.- Tareas en segundo plano con AsyncTask
AsyncTask en Android
Ejemplo: Descargar un fichero de Internet
Creación de la aplicación con Android Studio 4.1 y SDK 28:
– Dar permisos en el manifiesto
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.conexionasincrona"> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission-sdk-23 android:name="android.permission.INTERNET" /> <application android:usesCleartextTraffic="true" </application> </manifest>
– Usar view binding
build.gradle:
buildFeatures { viewBinding true }
MainActivity
public class MainActivity extends AppCompatActivity implements View.OnClickListener { private ActivityMainBinding binding; private static final int REQUEST_CONNECT = 1; long inicio, fin; TareaAsincrona tareaAsincrona; URL url; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); binding = ActivityMainBinding.inflate(getLayoutInflater()); View view = binding.getRoot(); setContentView(view); binding.button.setOnClickListener(this); }
– Creación de la tarea asíncrona usando AsyncTask
public class TareaAsincrona extends AsyncTask<URL, Void, Resultado> { }
– Descargar un fichero usando Java.net
public class Resultado { private int codigo; //indica el código de estado devuelto por el servidor web private String mensaje; //información del error private String contenido; //fichero descargado public int getCodigo() { return codigo; } public void setCodigo(int codigo) { this.codigo = codigo; } public String getMensaje() { return mensaje; } public void setMensaje(String mensaje) { this.mensaje = mensaje; } public String getContenido() { return contenido; } public void setContenido(String contenido) { this.contenido = contenido; } }
public class Conexion { public static Resultado conectarJava(URL url) throws IOException { } }
– Error: Cleartext http not permitted:
cleartext http traffic not permitted
– Prueba:
Acceso a un servidor web en la red local
Acceso a un servidor web en Internet: http://dam.org.es/ficheros/frases.html
Errores: página no encontrada, servidor caído, etc
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.