Android初尝甜果之MVP模式
2023-09-27 14:26:37 时间
void saveUser(UserBean userBean);
//这里正常网络请求会根据ID来查询User,我们这里模拟假数据请求
UserBean loadUser();
}
public void saveUser(UserBean userBean) { Log.i(TAG, "保存用户信息:" + userBean.getName() + ",性别为:" + userBean.getSex()); @Override public UserBean loadUser() { return new UserBean("Jake", "男", 26); }
【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的最大区别 如何选取框架
实现类:在这里我们简单打印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分发下去,到指定的业务逻辑层实现操作,具体代码在这里。
【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的最大区别 如何选取框架
相关文章
- adb(Android debug bridge)命令
- Dalvik模式下基于Android运行时类加载的函数dexFindClass脱壳
- Android设计模式(七)--原型模式
- Android 组件化(一)项目模式管理、模式切换
- Android | 说说Presentation
- Android GPU呈现模式原理及卡顿掉帧浅析
- HBuilderX: Android 自定义渠道包
- 《Android 源码设计模式解析与实战》——第2章,第2.4节单例模式UML类图
- 《Android 源码设计模式解析与实战》——第2章,第2.9节运用单例模式
- Android中的代理模式
- android在广播接收器BroadcastReceiver里面再进行发送广播,造成当前广播接收器不断循环执行问题
- android UI进阶之实现listview的下拉加载
- Android仿掌上英雄联盟首页,实现折叠效果
- android 全屏模式【横竖屏切换】踩坑日常
- Android中 RecyclerView的回收复用机制
- Android valuesids.xml: Error: Unsupported type ‘xxxx‘
- Android MVC框架模式的理解
- Android N分屏模式Activity生命周期的变化
- 《Qt on Android核心编程》相关资源
- android 获取屏幕宽高 和 获取控件坐标
- 【Android】接入有米广告SDK
- 说说Android的MVP模式