ほとんどのケースアクティビティでアプリケーションコンポーネントからの共有オブジェクトを使用する必要があるか、またはフラグメントコンポーネントがコンテナアクティビティによって提供されるいくつかのオブジェクトを使用する必要がある場合は、@subcomponent
を使用しました。Dagger2 - アクティビティコンポーネントは他のコンポーネントのサブコンポーネントですか?
今、別のアクティビティコンポーネントのアクティビティコンポーネントをsubcomponent
にすることができますか?たとえば、TaskDetailActivity
にはタスクオブジェクトがあり、TaskParticipantActivity
,TaskProgressActivity
などの他のアクティビティにいくつかのフラグメントを提供したいとします。
他のアクティビティにタスクオブジェクトを提供する伝統的な方法は、intent
オブジェクトに設定されていますが、このケースでDagger2を使用したいのですか?
更新:この記事のUserScopeのケースと似ていますhttp://frogermcs.github.io/dependency-injection-with-dagger-2-custom-scopes/、アプリケーションクラスにユーザーコンポーネントを保存する代わりに、アクティビティに保存することはできますか?つまり、TaskDetailActivity
?
Androidがアクティビティを破棄して再作成すると、その周囲のコンテキストを再作成できますか? –
興味深い質問@JeffBowman、私はダガーモジュールを使用すると、すべての依存関係は、スコープ内の前と同じインスタンスで注入されることができると思う。 –