Mvp

在这里插入图片描述
建立bean
public class UserBean {
private String mFirstName;
private String mLastName;

 public UserBean(String firstName, String lastName) {
        this. mFirstName = firstName;
        this. mLastName = lastName;
 }

 public String getFirstName() {
        return mFirstName;
 }

 public String getLastName() {
        return mLastName;
 }

}

建立model(处理业务逻辑,这里指数据读写),先写接口,后写实现
public interface IUserModel {
void setID(int id);

 void setFirstName(String firstName);

 void setLastName(String lastName);

 int getID();

 UserBean load(int id);// 通过id读取user信息,返回一个UserBean

}
建立view(更新ui中的view状态),这里列出需要操作当前view的方法,也是接口
public interface IUserView {
int getID();

 String getFristName();

 String getLastName();

 void setFirstName(String firstName);

 void setLastName(String lastName);

}

建立presenter(主导器,通过iView和iModel接口操作model和view),activity可以把所有逻辑给presenter处理,这样java逻辑就从手机的activity中分离出来。
public class UserPresenter {
private IUserView mUserView;
private IUserModel mUserModel;

 public UserPresenter(IUserView view) {
        mUserView = view;
        mUserModel = new UserModel();
 }

 public void saveUser( int id, String firstName, String lastName) {
        mUserModel.setID(id);
        mUserModel.setFirstName(firstName);
        mUserModel.setLastName(lastName);
 }

 public void loadUser( int id) {
       UserBean user = mUserModel.load(id);
        mUserView.setFirstName(user.getFirstName()); // 通过调用IUserView的方法来更新显示
        mUserView.setLastName(user.getLastName());
 }

}

  1. activity中实现iview接口,在其中操作view,实例化一个presenter变量。
    public class MainActivity extends Activity implements OnClickListener,IUserView {

    UserPresenter presenter;
    EditText id,first,last;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout. activity_main);

        findViewById(R.id. save).setOnClickListener( this);
        findViewById(R.id. load).setOnClickListener( this);
         id = (EditText) findViewById(R.id. id);
         first = (EditText) findViewById(R.id. first);
         last = (EditText) findViewById(R.id. last);
        
         presenter = new UserPresenter( this);
    

    }

    @Override
    public void onClick(View v) {
    switch (v.getId()) {
    case R.id. save:
    presenter.saveUser(getID(), getFristName(), getLastName());
    break;
    case R.id. load:
    presenter.loadUser(getID());
    break;
    default:
    break;
    }
    }

    @Override
    public int getID() {
    return new Integer( id.getText().toString());
    }

    @Override
    public String getFristName() {
    return first.getText().toString();
    }

    @Override
    public String getLastName() {
    return last.getText().toString();
    }

    @Override
    public void setFirstName(String firstName) {
    first.setText(firstName);
    }

    @Override
    public void setLastName(String lastName) {
    last.setText(lastName);
    }

}

  1. 所谓的mvp,即是(model-处理业务逻辑(主要是数据读写,或者与后台通信(其实也是读写数据)),view-处理ui控件,presenter-主导器,操作model和view)

  2. 源码地址

http://download.csdn.net/detail/knxw0001/7983807

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值