Man*_*oxx 2 architecture mvp android
我目前正在开发Android应用程序,我选择了MVP-Arhitecture.我的问题是现在,我需要从模型中的数据库中读取和写入一些东西,但是因此你需要一个对Context的引用,它在View中.我想知道,如何在不破坏MVP架构的情况下从View到模型获取Context(如果可能的话).
谢谢!!!
有必要创建模型和演示者,即:
new MyModel();
new Presenter();
Run Code Online (Sandbox Code Playgroud)
通常这是活动
@Override
public void onCreate(Bundle savedState) {
Model model = new MyModel();
Presenter presenter = new Presenter(model, this); // this being the View
}
Run Code Online (Sandbox Code Playgroud)
如果您在模型中使用数据库,则希望使用依赖项来执行此操作,可能需要调用 DatabaseReader
@Override
public void onCreate(Bundle savedState) {
DatabaseReader db = new DatabaseReader(this); // this being context
Model model = new MyModel(db);
Presenter presenter = new Presenter(model, this); // this being the View
}
Run Code Online (Sandbox Code Playgroud)
现在你有一个被调用的类DatabaseReader,Context它通过构造函数传递给它,所以你可以做"数据库事物",这个类本身就被模型使用了.
public class DatabaseReader {
private final Context context;
public DatabaseReader(Context context) {
this.context = context;
}
}
Run Code Online (Sandbox Code Playgroud)
和
public class MyModel implements Model {
private final DatabaseReader db;
public MyModel(DatabaseReader db) {
this.db = db;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2980 次 |
| 最近记录: |