uso tutorial tiempo thread studio servicios segundo programacion plano ejemplo ejecutar codigo cierto cada asynctask android android-fragments android-asynctask

tutorial - servicios en segundo plano android studio



Asynctask en Fragmento o Actividad principal? (3)

Me gustaría ir con el método 2, pero dar un paso más.

Tenga un fragmento separado para ejecutar su tarea asincrónica. De esta forma, puede manejar cualquier cambio de configuración (no solo la rotación de la pantalla) sin problemas.

En otro fragmento, puede visualizar los datos. Puede pasar los datos de su fragmento de tarea asíncrono mediante devoluciones de llamada a la actividad y hacer que la actividad invoque un método en el fragmento de visualización para actualizar los datos.

Tengo un escenario y no estoy seguro de qué camino tomar.

Guión

La aplicación tiene una actividad de Inicio que muestra varios fragmentos. Los datos en los fragmentos pueden provenir de la web o de una base de datos local y se recuperan utilizando una asynctask.

Por lo que vi, tengo 2 alternativas:

  1. Ponga Asynctask en actividad primaria y luego use fragment.newInstance(parameters) para pasar el resultado al fragmento. Sin embargo, si en mi asynctask necesito actualizar el progreso o alguna información sobre el fragmento, cada vez tendré que llamar a newInstance con el nuevo conjunto de parámetros.

  2. Agregue el fragmento y coloque la asynctask en él, de esta manera, cuando se necesite progreso, puedo actualizar las vistas del fragmento, ya que tengo acceso a ellas + cuando se realiza la asynctask, puedo llenar la lista con la información.

¿Cuál sería el enfoque correcto?

LE: en realidad para el punto 1 para actualizar el fragmento, puedo llamar a los métodos públicos del fragmento después de encontrarlo con findFragmentById en la actividad principal


Me gustaría ir con el segundo enfoque.
Sin embargo, mi principal razón sería evitar los problemas que pueden ocurrir en el cambio de orientación de la pantalla mientras el AsyncTask está funcionando.