ApplicationModule短剣 2 でこれを解決する方法がよくわかりません。この 1 つのモジュールだけを使用するモジュールApplicationContext
がApplicationComponentあるとします。その上に がActivityModuleあり、ActivityComponentそれは に依存していApplicationComponentます。
ActivityComponentのように構築されています
ApplicationComponent component = ((MyApplication) getApplication()).getComponent();
mComponent = Dagger_ActivityComponent.builder()
.applicationComponent(component)
.activityModule(new ActivityModule(this))
.build();
そして、アクティビティを挿入します。
mComponent.inject(this);
これで、 my 内で宣言されているすべてのものを使用できるようにActivityModuleなりましたが、アクセスすることはできませんApplicationModule。
では、問題は、それをどのように達成できるかということです。別のコンポーネントに依存するコンポーネントをビルドしても、最初のコンポーネントからモジュールにアクセスできますか?
編集
私は解決策を見つけたと思います.JakeによるDevoxxの話をもう一度見た後、私はそれを見逃す必要がありました.別のコンポーネントモジュールから使用したいものは何でも、そのコンポーネントで提供する必要があります.私は述べなければなりません、そしてそれは利用可能になるでしょう。かなりクール :)ApplicationModuleApplicationComponentContext provideContext();