注入interactor android mvp
我需要将dagger模块中的preferences接口注入我的interactor,所以我的问题是,我是否需要在interactor中实例化组件以获取我的首选项,对于我需要注入的任何类,每个进程都需要做什么 这是我的互动者注入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
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球员。非常感谢你抽出时间。