Estoy tratando de implementar DI usando Dagger 2. Uso este artículo como ejemplo, pero obtengo NullPointerException en clase generada. Aquí está mi rastro de la pila: E/AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'void dagger.MembersInjector.injectMembers(java.lang.Object)' on a null object reference E/AndroidRuntime: at me.cullycross.moody.activities.AuthActivity_MembersInjector.injectMembers(AuthActivity_MembersInjector.java:29) E/AndroidRuntime: at me.cullycross.moody.activities.AuthActivity_MembersInjector.injectMembers(AuthActivity_MembersInjector.java:9) E/AndroidRuntime: at me.cullycross.moody.di.components.DaggerAppComponent$LogInComponentImpl.inject(DaggerAppComponent.java:186) E/AndroidRuntime: at me.cullycross.moody.activities.AuthActivity.inject(AuthActivity.java:59) E/AndroidRuntime: […]
Actualmente estoy tratando de averiguar Dagger 2. Estoy tratando de configurar 4 ámbitos: Aplicación, Usuario, Actividad, Fragmento. Los componentes de usuario y actividad son subcomponentes de la aplicación. Fragmento es un componente con actividad como su dependencia. Digamos que mi UserSettingsActivity necesita una barra de herramientas (proporcionada por ActivityModule), y un UserProfile (proporcionado por UserModule). […]
Estoy desarrollando la aplicación android usando Dagger2.0. Estoy confundido con @Inject anotación. Que si tengo dos clases concretas de implementación de la misma interfaz y hay otra clase de uso, estoy inyectando esta clase concreta en su cliente con @Inject, Así que cómo anotación @Inject puede decidir qué una clase concreta instancie. Ejemplo: Tengo una […]
Soy totalmente nuevo en Dagger 2 y tengo un pequeño problema. Espero que pueda ayudarme 🙂 Tengo las siguientes clases en mi proyecto android Aplicación AppComponent Módulo de aplicación Actividad principal Componente principal MainModule IntentStarter En reconstrucción / compilación consigo el error Error:(15, 10) error: xyz.IntentStarter cannot be provided without an @Inject constructor or from […]
Mi configuración de puñal para un proyecto androide en el que estoy trabajando: Nota: He proporcionado todo lo necesario @Component, @Module, @Provides anotaciones donde sea necesario. MainActivity { @Inject A a; @Inject B b; onCreate(){ ComponentX.inject(this); ComponentY.inject(this); } } ComponentX-> ModuleA ->providerA ComponentY -> ModuleB -> providerB Como puede ver, estos son dos componentes completamente […]
Acabo de empezar a usar Dagger 2 hoy y estoy un poco confundido sobre cómo exactamente tengo que configurar todo. Estoy tratando de inyectar un POJO, pero siempre es nulo. En primer lugar, algunos código: App.java private AppComponent appComponent; @Override public void onCreate() { super.onCreate(); appComponent = DaggerAppComponent .builder() .appModule(new AppModule(this)) .build(); } public AppComponent […]
Estoy configurando el nuevo Dagger módulo Android, pero tengo este error Aquí está mi Componente: @AppScope @Component(modules = {AppModule.class, NetModule.class}) public interface AppComponent { @Component.Builder interface Builder { @BindsInstance Builder application(ExampleApplication application); @BindsInstance Builder appModule(AppModule appModule); @BindsInstance Builder netModule(NetModule netModule); AppComponent build(); } void inject(ExampleApplication __); … Que construyo como esto en mi aplicación appComponent […]
En la documentación de Dagger2, se dice Si su clase tiene campos de @Inject-annotated pero no @ Inject-annotated constructor, Dagger inyectará esos campos si se solicita, pero no creará nuevas instancias. Agregue un constructor sin argumentos con la anotación @Inject para indicar que Dagger puede crear instancias también. ¿Cómo se inyectan campos pero no se […]
Tengo un problema extraño aquí, y no estoy muy seguro de por qué lo que estoy haciendo no está permitido. Tengo los siguientes módulos: @Module public final class AppModule { private Context mContext; @Provides @Singleton @AppContext public Context provideContext() { return mContext; } } @Module public final class NetModule { @Provides @Singleton public OkHttpClient provideOkHttp() […]
Tengo un error relacionado con el alcance en Daga 2 y estoy tratando de entender cómo puedo solucionarlo. Tengo una CompaniesActivity que muestra a las empresas. Cuando el usuario selecciona un elemento, los empleados de la empresa seleccionada se muestran en EmployeesActivity . Cuando el usuario selecciona a un empleado, su detalle se muestra en […]