小编mrl*_*lem的帖子

匕首和嵌套注射

我正在使用Dagger将依赖项注入到Android应用程序中,我偶然发现了一个问题,我不确定如何以一种干净的方式解决问题.

我试图实现的是实现帮助并将其注入我的活动中,并让这些帮助者也包含注入的成员.

什么有效

我的助手注入的活动:

public class MyActivity extends Activity {
    @Inject SampleHelper helper;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        ((MyApplication) getApplication()).inject(this);

        Log.i("debug", "helper = " + helper);
        Log.i("debug", "helper context = " + helper.context);
    }
}
Run Code Online (Sandbox Code Playgroud)

创建对象图的应用程序:

public class MyApplication extends Application {
    private ObjectGraph graph;

    @Override
    public void onCreate() {
        super.onCreate();

        graph = ObjectGraph.create(getModules());
    }

    private Object[] getModules() {
        return new Object[] { new MyModule(this) };
    }

    public void inject(Object target) {
        graph.inject(target);
    }
}
Run Code Online (Sandbox Code Playgroud)

当我直接实例化SampleHelper类时,注入工作非常完美,而SampleHelper类又接收注入的应用程序上下文: …

android dependency-injection dagger

8
推荐指数
1
解决办法
5635
查看次数

标签 统计

android ×1

dagger ×1

dependency-injection ×1