【发布时间】:2018-05-03 12:28:54
【问题描述】:
我一直在学习和整合MVP pattern,有几个问题。
我从这张图中了解到的是,
Activity 将创建Presenter 的实例,并将其引用和model 对象传递给演示者
MainPresenter mainPresenter = new MainPresenter(this, new MainModel());
接下来,如果 Presenter 需要从本地或远程存储或获取任何数据,它会询问模型。
然后模型将要求存储库存储和检索数据。
我遵循了一些教程,这就是我实现该模式的方式。
界面
public interface MainActivityMVP {
public interface Model{
}
public interface View{
boolean isPnTokenRegistered();
}
public interface Presenter{
}
}
活动
MainPresenter mainPresenter = new MainPresenter(this, new MainModel());
mainPresenter.sendDataToServer();
演示者
public void sendDataToServer() {
// Here i need to ask `model` to check
do network operation and save data in preference
}
现在的问题是我需要上下文来访问sharedPreference,但我没有在任何地方通过context。我也不想使用static context。我想知道将上下文传递给 MVP 模式的正确方法。
【问题讨论】:
-
使用应用类
-
@quicklearner,我不想用这种方法,还有其他方法吗?还是应用程序类是唯一可能的方法?
-
我认为这是一个更好的方法:),它不会返回 null 直到应用程序被杀死
-
让我们等待一些其他答案,如果没有得到任何其他解决方案,我会采用这种方法:)。谢谢
标签: android performance android-layout android-fragments android-mvp