如何在Dagger2中无需构建器轻松注入依赖项

问题描述

我正在使用Dagger 2框架。

我了解他的工作方式。但是我需要一些指针。

我在其中一个用例中使用了Sub-component,但是我不知道这是否是一个好的解决方案。

用例如下:

我制作了一个视频游戏,并使用dagger2构建了整个应用程序。 “主作用域”(@Singleton)将包含可以构建应用程序开始的对象(例如:AssetManager,屏幕管理器,开始屏幕等)

然后我使用subComponent来创建需要来自Rest Api响应的Screen。

最基本的用途是显示所有正在进行的游戏的菜单

其余api给我发送了一个简单列表,然后将此列表与构建器@Subcomponent.Builder@BindsInstance注入到我的子组件中

为了检索subComponent Builder,我通过提供程序将其注入到我的构造函数中:

    @Inject
    public MyObject(OtherObject otherObject,Provider<ExampleSubComponent.Builder> exampleSubComponentProvider) {
        super(assetManager,screenManager);
        this.requestComponentProvider = requestComponentProvider;
    }

    public Screen aMethod(RestResponSEObject response){
        return this.requestComponentProvider.get().responseBinding(response).createSubScreen()
     }

这是我如何使用dagger2的全局图片

我的问题是:

您知道最简单的方法吗?尤其是在我的subComponent甚至不需要在is模块中定义依赖项的情况下。

由于创建子组件,模块和自定义范围很困难,就像在注入错误的情况下增加应用程序图的复杂度一样

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)