是否可以注入匕首ObjectGraph?

时间:2014-05-09 19:03:07

标签: dagger

我想创建工作经理,哪些工作可以有注射成员。

jobManager.queueJob(new Job1());

作业排队后,我想在启动它之前调用对象图并注入作业字段。

从JobManager类访问对象图的正确方法是什么?

目前我正在注入具有ObjectGraph getter的android应用程序类。

2 个答案:

答案 0 :(得分:0)

Dagger 1无法注射注射器。 Dagger 2将具有强类型注射器(您提供的接口),这些注射器可以注射,有效地允许注射注射器。

答案 1 :(得分:0)

如果您使用https://github.com/yigit/android-priority-jobqueue中的JobManager,则可以通过在JobManger上设置配置对象,使用Dagger 1注入作业:

public JobManager createJobManager(MyApp myApp) {
    Configuration config = new Configuration.Builder(app)
            .injector(new DependencyInjector() {
                @Override
                public void inject(Job job) {
                    myApp.getObjectGraph().inject(job);
                }
            })
            .build();

    return new JobManager(app, config);
}

现在将注入您添加到JobManager的所有作业。这假设您有一个Application子类,它公开了一个getObjectGraph()方法。