zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

Android初尝甜果之MVP模式

2023-09-27 14:26:37 时间
void saveUser(UserBean userBean); //这里正常网络请求会根据ID来查询User,我们这里模拟假数据请求 UserBean loadUser(); }

实现类:在这里我们简单打印log实现数据传输,这里实际应该写的是对数据库等相关对数据的操作。


public void saveUser(UserBean userBean) { Log.i(TAG, "保存用户信息:" + userBean.getName() + ",性别为:" + userBean.getSex()); @Override public UserBean loadUser() { return new UserBean("Jake", "男", 26); }

对于视图层我们先把代码放在这里,等下我们会在Activity中实现接口,实现对视图的操作。


这样的逻辑下,就使Activity减少了很多复杂的逻辑耦合,现在来看看Activity中的代码:


public class MainActivity extends AppCompatActivity implements View.OnClickListener, IUserView{

 //其他属性省略

 private IUserPresenter mUserPresenter;

 @Override

 protected void onCreate(Bundle savedInstanceState) {

 super.onCreate(savedInstanceState);

 setContentView(R.layout.activity_main);

 mUserPresenter = new UserPresenter(this);

 //findViewById部分省略

 @Override

 public void onClick(View view) {

 int id = view.getId();

 switch (id){

 case R.id.save:

 String u = name.getText().toString();

 String s = sex.getText().toString();

 UserBean userBean = new UserBean(u, s, 26);

 mUserPresenter.saveUser(userBean);

 break;

 case R.id.load:

 mUserPresenter.loadUser();

 break;

 @Override

 public String getName() {

 return null;

 @Override

 public String getSex() {

 return null;

 @Override

 public void setName(String name) {

 Toast.makeText(this, "更新用户名:" + name, Toast.LENGTH_SHORT).show();

 @Override

 public void setSex(String sex) {

 Toast.makeText(this, "更新性别;" + sex, Toast.LENGTH_SHORT).show();

 }

在Activity中可以看到,涉及到操作上的方式都通过Presenter分发下去,到指定的业务逻辑层实现操作,具体代码在这里。

MVPExample


【Android】MVC,MVP,MVVM的优缺点 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构.
Android 架构MVC MVP MVVM+实例(下) MVC实例 1.在layout创建一个布局文件 2.实体类(User) 3.MVCLoginActivity MVP实例 1.Model层 2.Presenter层 3.View层 MVVM实例 1.Model层 2.ViewModel层 3.View层 实例传送门
Android 架构MVC MVP MVVM+实例(上) MVC是什么? Android中的MVC含义 MVC的缺点 MVP是什么 Android中的MVP含义 MVP的优点 MVP的缺点 MVVM是什么 Android中的MVVM含义 MVVM的优点 MVVM的缺点 MVP和MVC的最大区别 如何选取框架