注入interactor android mvp

注入interactor android mvp,android,dependencies,mvp,inject,Android,Dependencies,Mvp,Inject,我需要将dagger模块中的preferences接口注入我的interactor,所以我的问题是,我是否需要在interactor中实例化组件以获取我的首选项,对于我需要注入的任何类,每个进程都需要做什么 这是我的互动者 public class SplashInteractorImpl implements SplashContract.Interactor { private SplashContract.Presenter presenter; @Inject

我需要将dagger模块中的preferences接口注入我的interactor,所以我的问题是,我是否需要在interactor中实例化组件以获取我的首选项,对于我需要注入的任何类,每个进程都需要做什么

这是我的互动者

public class SplashInteractorImpl  implements SplashContract.Interactor {

    private SplashContract.Presenter presenter;
    @Inject
    PreferencesHelper preferences;

    public SplashInteractorImpl(SplashContract.Presenter presenter){
        this.presenter=presenter;
    }

}

因此,我通常对共享首选项所做的是在应用程序模块中添加providePreferences方法

    @Provides
    @Singleton
    public PreferencesUtil providesPreferences() {
        return new PreferencesUtil(application);
    }
在上面的代码中,PreferencesUtil是一个util类,它为我包装了一些首选项。通常对我来说,所有其他dagger组件都是应用程序组件的子组件。因此,我可以在任何我喜欢的地方访问(注入)首选项

此外,您的交互者是否应该为您的演示者持有推荐信?如果我错了,请纠正我,但是MVP的m层应该使用某种回调结构(如Observable)将结果传递给演示者

编辑: 要在Interactor中注入preferences util,只需在变量声明中调用@inject:

public class MyInteractor{
    @Inject
    PreferencesUtil prefs;
}

嗨,李维,谢谢你的回答,事实上,我在我的模块应用程序中有一个首选SUTIL。我的疑问是如何将这些引用注入到我的交互程序中?如何在我的交互器中调用组件,我需要从我的首选项中获取数据来调用api,并将答案发送回演示者。我只是一个新的拥有匕首的mvp球员。非常感谢你抽出时间。