2017-08-09 60 views
1

我需要在我的交互器中注入我的prefrerences接口从一个匕首模块,所以我的问题是否需要在我的交互器中实例组件获取我的偏好? ,每个流程都需要为我需要注入的任何课程做些什么?注入交互器android mvp

这是我的交互器。

public class SplashInteractorImpl implements SplashContract.Interactor { 

    private SplashContract.Presenter presenter; 
    @Inject 
    PreferencesHelper preferences; 

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

} 

回答

0

所以我通常做共享首选项是我在我的应用程序模块中添加一个providePreferences方法。

@Provides 
    @Singleton 
    public PreferencesUtil providesPreferences() { 
     return new PreferencesUtil(application); 
    } 

在上面的代码PreferencesUtil是一个实用程序类包装对我的一些偏好。通常对于我来说,所有其他的匕首组件都是应用程序组件的子组件。因此,我可以在任何我喜欢的地方访问(注入)偏好。

此外,您的Interactor是否应为您的演示者提供参考?如果我错了,请纠正我,但MVP的M层应使用某种回调结构(如Observables)将结果交付给演示者。

+0

嗨莱维,感谢您的回答,其实我有一个preferencesUtil在我的模块应用程序。我的疑问是如何在我的交互器中注入这个providePreferences?如何在Interactor中调用组件,我需要从我的首选项中获取数据以调用api,并将答案发回给我的演示者。我只是在匕首mvp新。非常感谢您的时间。 – user1153174