Android buena arquitectura

Estoy interesado en explorar buenos patrones arquitectónicos para aplicaciones de Android.

Hice varios experimentos con VIPER y generalmente los enfoques de arquitectura limpia, pero me gustaría obtener un buen material / ideas para investigar de ustedes queridos compañeros.

Estos son algunos puntos importantes que deben reflejarse:

  1. Debe ayudar a manejar el enrutamiento / navegación en una aplicación típica de una sola actividad / fragmentos múltiples

  2. Debe separar claramente qué componentes / capas se ejecutará en los subprocesos de fondo y que en el hilo principal y para comunicarse entre capas (patrón de observador, eventbus o lo que sea)

  3. Utiliza una cantidad limitada de bibliotecas de terceros y si lo hace, por favor indique los pros y los contras (como Dagger for Dependency Injection por ejemplo)

  4. Ayuda a mantener la ortogonalidad a largo plazo al adaptar / extender la aplicación. Un cambio en un módulo debe afectar a la cantidad mínima de componentes sin tener efectos en cascada porque los componentes están acoplados a los muslos.

  5. Sería genial tener una mirada a ejemplos reales / prototipos en github o en cualquier lugar para mantenerlo real y práctico sin ser demasiado en el lado académico 😉

Gracias de antemano por cualquier ideas / patrones frescos

Puede usar el patrón MVP + Repository, lo estoy usando en mi proyecto y el código es más limpio, suelto par, hay capas bien separadas. Puede agregar Dagger a las inyecciones de dependencia y RxAndroid a la tarea asincrónica.

Estos son los mejores enlaces que encontré y me ayudaron a aprender esta arquitectura:

http://fernandocejas.com/2014/09/03/architecting-android-the-clean-way/

https://medium.com/android-news/android-architecture-2f12e1c7d4db#.bupsk0o2n

https://medium.com/@artem_zin/m-model-from-mvc-mvp-in-android-flow-and-mortar-bd1e50c45395#.uyij0tjgs

http://fahimk.github.io/2015/04/21/using-rxjava-with-mvp-to-handle-configuration-changes/

https://kmangutov.wordpress.com/2015/03/28/android-mvp-consuming-restful-apis/

https://github.com/sam33rdhakal/MVPandroid/tree/master/app/src/main/java/com/enepalichords/nepalichords

http://magenic.com/Blog/Post/6/An-MVP-Pattern-for-Android

Usted puede encontrar el código en los enlaces anteriores y este es uno de mis proyectos utilizados para fines de aprendizaje:

https://bitbucket.org/emaleavil/cheapshark/

Hay muchas cosas que mejorar, pero creo que puede ayudar a empezar, este proyecto está inacabado, lo siento mucho.

  • Import android.support no se puede resolver
  • Agregar Google Guava al proyecto Android - ralentiza significativamente la compilación
  • WebDriver de Android. XMLHttpRequest no puede cargar 'URL'. Origen 'URL' no está permitido por Access-Control-Allow-Origin. En null: 1
  • ¿Existe una etiqueta XML equivalente a `ListView.addHeaderView '?
  • Crear una nueva cadena de un Charset lanza NoSuchMethodError (Android)
  • Android ImageView rotativo
  • División de una cadena en Java lanza PatternSyntaxException
  • ¿Mostrar caracteres unicode en android?
  • Flujo de llamadas de Android Phone
  • Generar Java desde WSDL para usarlo en Android con el cliente SOAP ksoap2-android?
  • ¿Cómo puedo enviar un campo de texto en la solicitud POST que carga un blob en Blobstore y lo recupero en el controlador de carga del blob?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.