Clases de utilidad en Android, AsyncTask y acoplamiento suelto, por favor avise

He intentado buscar cualquier discusión sobre este tema, pero hasta ahora no he encontrado nada útil. Por lo tanto, decidí seguir adelante y publicar esto.

Así que mi consulta es sobre las mejores prácticas de Android. Estoy creando una aplicación simple que llama a un punto final de REST, analiza el JSON descargado y muestra los resultados en algunos fragmentos contenidos dentro de una actividad.

Tengo una clase de "utilidad" personalizada que extiende AsyncTask. En el método doInBackground, hago la solicitud, almaceno la respuesta en un String, etc. (cosas bastante simples).

Ahora, entiendo que hay otros dos métodos que forman parte de AsyncTask: onPreExecute y onPostExecute. Si lo que he investigado en línea es correcto, estos métodos son donde debería poder interactuar con la IU, pasando mi contexto a esta clase de utilidad, encontrando la vista por ID, configurando el texto del campo o lo que sea que desee. que hacer.

Así que esa es mi pregunta. ¿Cuál es la mejor práctica alrededor de esto?

Actualmente, mi clase de utilidad que extiende AsyncTask y hace que la llamada al servicio web tenga una variable de miembro privado:

    private FragmentActivity mActivityContext;

Y luego, para interactuar con la interfaz de usuario, hago algo como esto:

@Override
protected  void onPreExecute()
{
    super.onPreExecute();
    android.support.v4.app.FragmentManager fm = mActivityContext.getSupportFragmentManager();
    MainActivity.PlaceholderFragment fragment = (MainActivity.PlaceholderFragment)fm.findFragmentByTag("PlaceholderFragment");

    if (fragment != null)
    {
        TextView textView = (TextView)fragment.getView().findViewById(R.id.my_custom_field);
        textView.setText("This field was updated through onPreExecute!");
    }
}

Aunque esto parece funcionar bien hasta ahora, mi preocupación es: ¿la clase de utilidad debe acceder al administrador de fragmentos de la actividad a la que tiene referencia? ¿Debería incluso tener una referencia a la actividad? Y al usar el administrador de fragmentos, la clase de utilidad debe conocer la etiqueta del fragmento. Este no es un enfoque muy modular o de acoplamiento flexible. ¿Es la solución tan simple como simplemente pasar la etiqueta de fragmento cuando creo la instancia de la clase de utilidad en lugar de tenerla configurada como lo hago ahora? ¿O hay una ruta alternativa mejor?

Respuestas a la pregunta(2)

Su respuesta a la pregunta