gpt4 book ai didi

android - 使用 Dagger 的应用程序组件构建 Android Instant App

转载 作者:IT老高 更新时间:2023-10-28 23:12:54 26 4
gpt4 key购买 nike

我目前正在尝试使用 InstantApps,并希望将 dagger 包含在我的项目中。

我在设置应用程序 AppComponent 时遇到问题。我的应用程序组件包括我的应用程序的所有功能 Dagger 模块。

我基本上有:

  • 一个基础应用模块包含我的应用程序类
  • 多个功能,每个 Activity 都有一个 Dagger 模块,所有功能都以 Base 作为依赖项。
  • 一个应用模块和即时模块都导入所有功能和基础应用模块。

我正在尝试在添加 Instant App 模块之前弄清楚设置。

来自 InstantApps 文档和项目示例。似乎 Application 类需要在 Base 中。从 Dagger 文档到设置 Dagger :

 DaggerYourAppComponent.create().inject(this);

应该包含在您的应用程序类中。但是,这似乎是不可能的,因为 AppComponent 需要引用所有功能 Dagger 模块。

我的问题是:

  • 我应该在哪里添加我的 AppComponent dagger 模块?
  • 我应该将我的应用程序保留在 app 模块中而不是 Base 中吗?
  • 有关于 Dagger 和 Instant Apps 的任何 GitHub 存储库或文档吗?

谢谢

最佳答案

  • 即时应用非常支持 Dagger2。您可以为每个功能模块创建组件类和相应的 Dagger 提供程序类,以公开每个功能模块的组件类实例。
  • 每个模块组件类都可以为仅包含在该功能模块中的类声明注入(inject)方法。
  • 另外你还可以有一个Application组件类在用于应用范围注入(inject)的基本模块。
  • 应用组件类可以在包含在基础模块中并暴露给其他应用程序类通过应用程序类中的静态方法功能模块。

这里是使用即时应用程序进行 Dagger2 注入(inject)的示例代码,以使事情更清晰。 https://github.com/willowtreeapps/android-instant-apps-demo

关于android - 使用 Dagger 的应用程序组件构建 Android Instant App,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45380163/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com