J'utilise démo dagger2 par https://medium.com/@iammert/new-android-injector-with-dagger-2-part-1-8baa60152abe. J'ai ajouté à mon SharedPreferences AppModule.javaAndroid Dagger2 2.11 liaisons de portée de référence Appcomponent non délimitées
@Module(subcomponents = {
MainActivityComponent.class,
DetailActivityComponent.class,
Detail2ActivityComponent.class})
public class AppModule {
@Provides
@Singleton
Context provideContext(Application application) {
return application;
}
@Provides
@Singleton //if i remove dagger works right
SharedPreferences providesSharedPreferences(Application application) {
return PreferenceManager.getDefaultSharedPreferences(application);
}
}
injecter SharedPreferences dans MainActivity. Après la reconstruction du projet, j'obtiens l'erreur
Si je supprime l'annotation @Singleton par providesSharedPreferences, reconstruire le projet à droite. Pourquoi le problème est-il annoté @Singleton par providesSharedPreferences?