我在我的應用程序中使用了Dagger 2 DI框架。目前,我正在爲我的身份驗證活動創建目錄結構。匕首2將依賴注入片段?匕首堆棧?
我有一個AppComponent和AppModule,它們的作用域是ApplicationScope註釋。
對於具有@ActivityScope的個人活動。我有一個名爲AuthenticationActivity的活動,它唯一的工作就是呈現兩個片段 - LoginFragment和SignUpFragment,以便用戶可以滑動ViewPager以在兩者之間切換。現在,我的問題是我應該如何安排我的匕首堆棧?我是否需要創建爲LoginFragment子組件,例如像
@Subcomponent(modules{})
public interface AuthenticationComponent{
LoginComponent plus(LoginModule module);
}
而且我LoginComponent可能看起來類似的東西:
@Subcomponent(modules{LoginModule.class})
public interface LoginComponent{
void inject(LoginFragment fragment);
}
我的應用程序組件將類似於:
@Component(modules={AppModule.class})
public interface AppComponent{
AuthenticationComponent plus(AuthenticationModule module);
}
我只是想知道是否有更優雅的方式(例如,避免創建AuthenticationComponent)提前謝謝!任何建議將不勝感激!
您可以。你不需要。哎呀,如果你想要的話,你可以只有1個全局組件完成所有工作。問題是你認爲你通過擁有一個子組件可以得到什麼樣的價值?我在這裏看不到太多。 –
@GabeSechan感謝您的評論。我不認爲我正在向AuthenticationActivity注入任何東西。這個活動的目的是通過使用viewpager來展示這兩個片段。所以我想我沒有獲得任何有價值的認證活動子組件。 –
@GabeSechan我想我有這麼多嵌套的子組件混淆,我自動以爲我做錯了(第一次在一個大項目中使用Dagger 2) –