2017-08-09 8 views
1

私は私のインタラクタに私のprefrerencesインターフェイスをdaggerモジュールから注入する必要があります。 、各プロセスは、私が注入する必要がある任意のクラスのために行う必要がありますか?Inject in interactor 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は私のためにいくつかの設定をラップするutilクラスです。通常、私にとっては、他のすべてのダガーコンポーネントはアプリケーションコンポーネントのサブコンポーネントです。したがって私は好きな場所にプリファレンスをアクセス(注入)することができます。

また、あなたのインタラクタがあなたの発表者のリファレンスを保持していればよいですか?私が間違っている場合は私を修正しますが、MVPのM層はObservablesのような何らかのコールバック構造を使用して結果をプレゼンタに渡すべきです。

+0

こんにちはLevi、あなたの答えをありがとう、実際には私のモジュールアプリケーションでpreferencesUtilがあります。私の疑いはどのように私のインタラクタにこのprovidePreferencesを注入ですか? Interactor内でコンポーネントを呼び出す方法、私の設定からAPIを呼び出すためのデータを取得し、回答をプレゼンターに返す必要があります。私は短剣でmvpでちょうど新しいです。あなたのお時間をありがとう。 – user1153174

関連する問題