Closed xiaobailong24 closed 7 years ago
@xiaobailong24
是的,MainActivityModule 需要在 AppComponent 中添加依赖。这是我的疏漏,等下会修改。
我还没有遇到过这种场景。按照我的理解,应该是 MainActivityModule 对应的 Component 中添加 dependencies。例如叫 MainActivityComponent,就是 MainActivityComponent(dependencies = {AppComponent.class})
。
@Loong-T
感谢您的回答。
但是dagger.android 推荐使用 @Subcomponent, 而 @Subcomponent 是没有 dependencies 属性的。
dependencies 是 @Component 的属性,但是如果使用 @Component 就没法使用 AndroidInjector.Builder
@xiaobailong24 明白你的意思了。
就我的观点来说,我不支持复用 Component。举例来说,假如 lib 里的 Component 发生了变化,可能会暴露出过多的依赖。而且在 SubComponent 的场景下也的确是不方便复用的。
如果要复用,至少也该是复用 Module,在 app 里再重新写一个 Component。
我觉得更好的做法是 Component 和 Module 都重新写,这样能使 lib 的变化尽量少地影响到 app 本身。而且可以更方便地分离主代码和测试代码的依赖。
@Loong-T 感谢指导。你说得有道理,这个问题下午我已经解决啦,就是你这个思路。
您好,看到您的博客上的文章: http://nerd-is.in/2017/07/09/dagger-android——Android-中使用-Dagger2-的新方法/ 有个问题请教一下:
感谢指导!