【发布时间】:2015-08-16 04:06:15
【问题描述】:
我正在将我的应用程序迁移到 MVP。从konmik
中获得了关于静态演示者模式的提示这是我简要的 MVP 策略。为简洁起见,删除了大部分样板和 MVP 侦听器。这个策略帮助我改变了方向,证明了我的后台进程。与正在完成活动的暂停相比,活动正确地从正常暂停中恢复。此外,Presenter 只有应用程序上下文,因此它不保留活动上下文。
我不是 Java 专家,这是我第一次尝试 MVP,使用静态演示器让我感到不舒服。我错过了什么吗?我的应用运行良好,并且响应速度更快。
查看
public class MainActivity extends Activity{
private static Presenter presenter;
protected void onResume() {
if (presenter == null)
presenter = new Presenter(this.getApplicationContext());
presenter.onSetView(this);
presenter.onResume();
}
protected void onPause() {
presenter.onSetView(null);
if(isFinishing())presenter.onPause();
}
}
演讲者
public class Presenter {
private MainActivity view;
Context context;
public Model model;
public Presenter(Context context) {
this.context = context;
model = new Model(context);
}
public void onSetView(MainActivity view) {
this.view = view;
}
public void onResume(){
model.resume();
}
public void onPause(){
model.pause();
}
}
型号
public class Model {
public Model(Context context){
this.context = context;
}
public void resume(){
//start data acquisition HandlerThreads
}
public void pause(){
//stop HandlerThreads
}
}
【问题讨论】:
-
我已经考虑了一段时间,如果你仍然感兴趣,我已经开始写一篇关于这个主题的博客:cj65535.blogspot.com.au/2017/03/…