私のアプリでDagger 2 DIフレームワークを使用しています。現在、認証アクティビティのディレクトリ構造を作成しています。ダガー2は、依存関係をフラグメントに注入しますか?ダガースタック?
私はAppComponentとAppModuleをApplicationScopeアノテーションでスコープしています。
個々の活動については、@ActivityScopeを持っています。 AuthenticationActivityと呼ばれるアクティビティが1つあり、その唯一の仕事は2つのFragments - LoginFragmentとSignUpFragmentを提示して、ユーザーがビューページをスワイプして2つの間で変更できるようにすることです。さて、私の質問は、私はどのように私のダガースタックを配置する必要がありますか?
@Subcomponent(modules{LoginModule.class})
public interface LoginComponent{
void inject(LoginFragment fragment);
}
マイアプリのコンポーネントは似ています:
@Component(modules={AppModule.class})
public interface AppComponent{
AuthenticationComponent plus(AuthenticationModule module);
}
私はそのような何かを見ることができるよう
@Subcomponent(modules{})
public interface AuthenticationComponent{
LoginComponent plus(LoginModule module);
}
そして、私のLoginComponentのような例えば、LoginFragmentのためのサブコンポーネントを作成する必要がありますか
より洗練された方法があるかどうか疑問に思っています(たとえば、AuthenticationComponentの作成を避けるなど)。どんなアドバイスも高く評価されます!
できます。あなたはする必要はありません。あなたが望むのであれば、すべてを行うグローバルコンポーネントを1つだけ持つことができます。問題は、サブコンポーネントを持つことによってどのような価値が得られると思いますか?私はここにあまり見ない。 –
@GabeSechanご意見ありがとうございました。私はAuthenticationActivityに何かを注入しているとは思わない。このアクティビティの目的は、ビューページを使用して2つのフラグメントを表示することです。ですから、私はauthenticationActivityサブコンポーネントを持っていても価値がないと思います。 –
@GabeSechan私は、多くのネストされたサブコンポーネントを持つことを混乱させていると思います。私はそれが間違っていると自動的に思っていました(大きなプロジェクトでDagger 2を初めて使う) –