¿cómo se ve una buena arquitectura para una aplicación de Android? ¿Debería haberse hecho toda la "lógica de trabajo/negocio" en un servicio en segundo plano y la Actividad se comunica solo con el servicio para consultar/recuperar datos de algún lugar (local/distante)?Android Architecture Design - ¿Cómo hacerlo bien?
¿Implementarías el "servicio" que la actividad llama como un servicio real de Android? O un POJO-Singleton que hace el trabajo (tal vez usando hilos de fondo). O crea instancias de hilos de fondo en tu actividad para acciones que requieren mucho tiempo (consulta un servicio web).
¿Cómo abstractas el acceso a tus datos de la manera correcta? ¿Usarías un ContentProvider para acceder/abstraer tus datos? ¿Cómo/de dónde debería ser consultado? ¿Actividad? ¿Servicio? ..?
He intentado buscar un buen diseño de arquitectura de aplicaciones, pero solo encontré la apariencia de la arquitectura de Android, no cómo debería ser una aplicación de Android.
¿Cuál es su opinión al respecto? ¿Qué componentes de una aplicación de Android deberían comunicarse entre sí para garantizar la mejor extensibilidad/encapsulación, ...?
Cualquier razón específica por la que utilice BroadcastIntents para comunicarse de nuevo con Actividades de Servicios y no con Handlers? – KL4711
No particularmente. Mis actividades pueden anular el registro de sus receptores de intención de transmisión en OnPause, de modo que mi servicio pueda transmitir la información y solo la Actividad activa la recibirá si ha registrado un receptor. Me gusta la naturaleza desconectada de eso. Si Handler puede lograr lo mismo sin mantener una referencia a la Actividad en el Servicio, entonces simplemente no lo sé. – Rich
@Rich: ¡ya hace tiempo que respondes esto! ¿Has encontrado algún recurso en línea que explique esta cosa de Arquitectura en detalle durante este período de tiempo? –