我正在學習Dagger 2,所以我想了解一些基本的東西。我有以下代碼:如何聲明依賴關係
@Module
public class MainModule {
@Provides
public Presenter provideMainActivityPresenter(Model model){
return new MainPresenter(model);
}
@Provides
public Model provideMainModel(){
return new MainModel();
}
}
和我MainPresenter
類看起來是這樣的:
public class MainPresenter implements Presenter {
@Nullable
private ViewImpl view;
private Model model;
public MainPresenter(Model model) {
this.model = model;
}
@Override
public void setView(ViewImpl view) {
this.view = view;
}
}
,而不是上面的代碼,可能我這樣做?
public class MainPresenter implements Presenter {
@Nullable
private ViewImpl view;
@Inject
Model model;
@Override
public void setView(ViewImpl view) {
this.view = view;
}
}
因爲MainPresenter
依賴於Model
,它不是@Nullable
。
或者這是錯誤的?
我不明白時,我應該把依賴作爲一個構造函數參數,或者當我應該使用@Inject
看起來你需要了解Dagger的基礎知識。試試這個教程:https://www.techyourchance.com/dagger-tutorial/ – Vasiliy