我正在学习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