Car*_*ues 7 android dagger dagger-2
我对使用dagger-android的Dagger中的范围依赖感到困惑.
使用@ContributesAndroidInjetor我有一个类似如下的代码:
@Module
public abstract class ActivityBindingModule {
@ContributesAndroidInjector(modules = PotatoesModule.class)
public abstract MainActivity contributeMainActivityInjector();
@ContributesAndroidInjector
public abstract UserActivity contributeUserActivity();
}
Run Code Online (Sandbox Code Playgroud)
ActivityBindingModule在我的AppComponent中定义为一个模块.但问题是.我该怎么办呢
@UserScope
@Component(dependencies = AppComponent.class)
public interface UserComponent {...}
Run Code Online (Sandbox Code Playgroud)
并注释一个Activity来使用该范围?我的所有依赖都是活动"本地单身人士"吗?因为每个Activity注入器都是AppComponent的子组件.
也许我不理解使用dagger-android的"范围"的概念,如果有人能够解释它,我会很高兴.
我的所有依赖项都在活动“本地单例”中吗?因为每个Activity注入器都是AppComponent的子组件。
dagger-android 生成的子组件是无作用域的,除非您@ContributesAndroidInjector使用作用域注释 -annotated 方法。
但问题是。我怎样才能做类似的事情
... @Component(dependencies = AppComponent.class) ...并注释活动以使用该范围?
据我所知,你只能将子组件与 dagger-android 一起使用。此外,活动子组件必须在应用程序组件中安装的模块中声明,而片段子组件可以在应用程序、活动或片段组件中安装的模块中声明。
不过,我不确定“注释活动以使用该范围”是什么意思。
| 归档时间: |
|
| 查看次数: |
223 次 |
| 最近记录: |