gpt4 book ai didi

Android MVP-Architecture 如何使用SQLiteHelper在模型中进行数据库调用

转载 作者:太空狗 更新时间:2023-10-29 15:51:19 24 4
gpt4 key购买 nike

我目前正在开发一个 Android 应用程序,我选择了 MVP-Arhitecture。我现在的问题是,我需要从模型中的数据库中读取和写入一些内容,但是因此您需要引用上下文并且在 View 中。我想知道如何在不破坏 MVP 架构的情况下将上下文从 View 获取到模型(如果可能的话)。

谢谢!!!

最佳答案

有些东西必须创建模型和演示者,即:

 new MyModel();
new Presenter();

通常这是 Activity

 @Override
public void onCreate(Bundle savedState) {
Model model = new MyModel();
Presenter presenter = new Presenter(model, this); // this being the View
}

如果你在你的模型中使用一个数据库,你想使用一个依赖来做到这一点,可能叫做 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
}

现在你有一个名为 DatabaseReader 的类,它有一个通过构造函数传递给它的 Context,这样你就可以做“数据库的事情”,这个类本身被模型。

 public class DatabaseReader {

private final Context context;


public DatabaseReader(Context context) {
this.context = context;
}
}

 public class MyModel implements Model {

private final DatabaseReader db;

public MyModel(DatabaseReader db) {
this.db = db;
}


}

关于Android MVP-Architecture 如何使用SQLiteHelper在模型中进行数据库调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36899012/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com