16

ApplicationModule短剣 2 でこれを解決する方法がよくわかりません。この 1 つのモジュールだけを使用するモジュールApplicationContextApplicationComponentあるとします。その上に が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();

4

1 に答える 1