MVP on Android

Model View Presenter

Model 数据类       View 视图类            Presenter 处理逻辑的处理类

注意在presenter与view之间一般有interface接口

 

View(Activity)

package com.examples;
 
import com.examples.presenters.Presenter;
import com.examples.views.IView;

public class View extends Activity implements IView {
    /** Called when the activity is first created. */
      Presenter _presenter;
     
      public View(){
            _presenter = new Presenter(this);
      }
     
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        _presenter.action(Params );

    }
 
      @Override
      public void setSomething(Params ) {
            //IView interface method
      }
     
}

Presenters

package com.examples.presenters;
 
public class Presenter {
      private IView _view;
      private Model _model;

      public Presenter(IView view){
            _view = view;
      }//构造函数

      public void action(Params ) {
      //执行处理
        _view.setSomething(Params);

    }
}

Views(interface)

package com.examples.views;
 
public interface IView {
      public void setSomething(Params );
}

Model

package com.example.model;

public class Model {
    String aaa;

    public void set(String s) {
              aaa = s ;
    }

    public String get() {
            ruturn aaa;
    }
}

 

 推荐两篇博文:

http://magenic.com/Blog/AnMVPPatternforAndroid.aspx

 

http://jamespeckham.com/blog/10-11-21/MVP_on_Android.aspx

原文地址:https://www.cnblogs.com/mybkn/p/2443676.html