2010-12-14 12 views

Respuesta

26

Deberías probar Roboguice. Empecé a usar en mis proyectos con Robolectric para TDD.

Hasta aquí todo bien :)

+0

¿Hay alguna COI marco más ligero para dispositivos móviles (Android). Roboguice parece agradable. Lo intentaré y te dejaré saber mi experiencia. – dmay

+0

@dmay Entonces, ¿qué piensas al respecto? –

+0

Desafortunadamente me mudé a otro proyecto y no tuve la oportunidad de explorar más. – dmay

15

También debe tratar AndroidAnnotations :).

Se inspiró en RoboGuice, pero las consolidaciones y las inyecciones se realizan en tiempo de compilación, para evitar costos de rendimiento.

También proporciona enlace de eventos (anote un método para recibir eventos de clic) y un modelo de subprocesamiento simplificado (anote un método para asegurarse de que se ejecutará en el subproceso UI/en una cadena de fondo).

Y, por supuesto, AndroidAnnotations se puede combinar con RoboGuice.

+1

¿Por qué se combine con AndroidAnnotations RoboGuice? – Macarse

+0

AndroidAnnotations tiene características que RoboGuice no ha previsto, y viceversa. RoboGuice tiene un impacto en la perforación, especialmente si se inyecta una gran cantidad de frijoles. Sin embargo, sigue siendo un gran marco, y es posible que desee utilizar ambos en algunos casos. –

+0

No puedo encontrar ningún ejemplo de una prueba de unidad de inyección de una maqueta en una instancia de una clase configurada con AndroidAnnotations. ¿Hay alguna forma de hacerlo (por ejemplo, anular qué instancia inyectar para un tipo determinado para una prueba en particular o una clase TestCase)? – apollodude217

16

También hay Dagger que es más ligero que RoboGuice.

+1

Dagger 2 es el único DI aconsejado por Google. Ver [Daga de Google 2] (http://google.github.io/dagger/) –

0

También hay Spring ME, que debe ser el contenedor de COI más liviano. De hecho, no tiene una dependencia de tiempo de ejecución, pero aún puede usar la configuración Spring XML para conectar sus objetos. Las diapositivas son here.

Cuestiones relacionadas