Android MVP模式简单易懂的介绍方式 (一)

Android MVP模式简单易懂的介绍方式 (二)

Android MVP模式简单易懂的介绍方式 (三)

最近正在研究Android的MVP模式。看了很多文章,基本上都是长篇大论,一堆理论。但这里,我们不从理论出发,我们从最最原始实用的介绍出发。那么,这里我默认大家都是有基本的MVP理论知识的,如果没有,可以稍微看下MVP的基本理论。当然,不看基本理论,对于阅读本文也是没有障碍的。这里我们只需要知道一个最最核心的理论:

MVP把Activity中的UI逻辑抽象成View接口,把业务逻辑抽象成Presenter接口,Model类还是原来的Model。

这个理论,看起来狠抽象是吧,简单的来说,就是把Activity的逻辑抽离出来,让Activity更加简洁,并且逻辑可复用。MVP其实处理的就是这么一回事。如果有在网上找过MVP的文章,相信大家都看过,很多都是用登陆来做Demo并加以介绍。本文一样,但是本文会从实际思路出发,一步一步带领大家了解MVP。

首先,看看我们的项目结构把。分包这个没啥好说的,就是根据MVP的文件夹划分,这个没有强制规定。可以根据自己的喜好分。然后,这里只是为了方便大家对项目整体了解,才第一步挂出项目结构。其实,实际开发种,我们应该从需求分析出发。

那么现在我们就从需求分析,一步一步将整个目录搭建起来。
首先,我们的目的用MVP做一个登陆模块。那么我们先从数据出发,登陆需要什么呢?账号,密码,同时还需要验证账号密码的正确性。因此,我们需要一个model接口,这个接口需要拥有拿到账号,拿到密码,验证账号密码的方法。因此,得到下面这个接口。

public interface IUser {//拿到账号
    String getName();//拿到用户名
    String getPassword();//验证登陆int checkUserValidity();
}

那么既然有了接口,那必须要有人来实现他对吧。因此,我们需要在写一个model类来实现这个接口。这个类除了实现接口的所有方法,为了方便待会使用,我们还需要给他一个构造方法。那么,来到这一步,Model也就完成了。我们将登陆验证的判断逻辑放到了Model中。这样,验证登陆的逻辑也独立开来无关Activity了。为了避免篇幅过长,接下来将在下一篇文章中介绍下一步操作。Android MVP模式简单易懂的介绍方式 (二)

public class UserModel implements IUser {private String name;private String passwd;public UserModel(String name, String passwd) {this.name = name;this.passwd = passwd;}@Overridepublic String getName() {return name;}@Overridepublic String getPassword() {return passwd;}@Overridepublic int checkUserValidity() {//这里其实就是对登陆进行判断。其实就是对数据进行处理判断,一般我们写在Activity里面。写在这里不久又给Activity减负了嘛。if (!name.equals("admin")) {//用户名错误return -1;}if (!passwd.equals("123456")) {//密码错误return -2;}if (name.equals("admin") && passwd.equals("123456")) {//登陆正确return 1;}return 0;}
}

转载于:https://www.cnblogs.com/linfenghp/p/9702548.html

Android MVP模式简单易懂的介绍方式 (一)相关推荐

  1. Android MVP模式 简单易懂的介绍方式

    主要学习这位大神的博客:简而易懂 Android MVP模式 简单易懂的介绍方式 https://segmentfault.com/a/1190000003927200 转载于:https://www ...

  2. android mvp模式例子_ANDROID MVP 模式 简单易懂的介绍方式

    Android MVP Pattern Android MVP 模式1 也不是什么新鲜的东西了,我在自己的项目里也普遍地使用了这个设计模式.当项目越来越庞大.复杂,参与的研发人员越来越多的时候,MVP ...

  3. MVP 模式简单易懂的介绍方式

    Android MVP 模式 1 也不是什么新鲜的东西了,我在自己的项目里也普遍地使用了这个设计模式.当项目越来越庞大.复杂,参与的研发人员越来越多的时候,MVP 模式 的优势就充分显示出来了. MV ...

  4. Android之MVP 模式:简单易懂的介绍方式

    转载:https://segmentfault.com/a/1190000003927200 Android MVP Pattern Android MVP 模式1 也不是什么新鲜的东西了,我在自己的 ...

  5. Android MVP模式学习

    Android MVP模式学习 参考: Android MVP 开发模式有哪些优缺点?: https://www.zhihu.com/question/35185744 MVP 模式简单易懂的介绍方式 ...

  6. Android MVP模式 解析JSON 显示到ListView上

    Android MVP模式 解析JSON 显示到ListView上 有关MVP模式的介绍,这里不作详细解释,稍后会更新MVP设计模式,请等待链接-- 简述本次的主要功能实现: 通过mvp设计模式,(M ...

  7. mvp模式复用android,MVP模式

    简称:MVP 全称:Model-View-Presenter :MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供 ...

  8. android mvp 利弊,android mvp模式有什么弊端 - 什么是android mvp模式,android mvp模式有什么弊端...

    android mvp模式有什么弊端 才开始学习使用MVP时,看到大家说了很多MVP的优点,代码复用,条理清晰等等.不过我改下来发现,MVP在我看来,最大的优点还是代码解耦,逻辑清晰,至于代码复用,暂 ...

  9. Android MVP模式介绍和讲解

    作者:谭东 先给个MVP的出处链接:https://github.com/googlesamples/android-architecture/,出处就是google在github上的一个架构的开源例 ...

最新文章

  1. Error:could not open'C:\Porogram Files\Java\jrelib\j386\jvm.cfg'
  2. 【English】哈佛大学用这12张图,让你远离负能量
  3. 虹口区巡检机器人_上海巡检机器人
  4. linux 服务器 iptables 防止arp病毒,让Linux系统有效防御ARP攻击的实用技巧
  5. cp1 项目管理概述
  6. ArrayBlockingQueue原理分析
  7. 王力宏《十八般武艺》新碟 测评
  8. MySQL知识树 集合操作
  9. 10.GitLab 服务器和外部服务集成
  10. YOLOV5学习记录
  11. java广告投放系统_广告投放系统
  12. [转载]使用 Abbot 框架自动化测试 Eclipse 插件的用户界面,第 2 部分
  13. 菜鸟、小白在autojs和冰狐智能辅助之间如何选择?
  14. office2019安装教程
  15. uni-app的渲染数据和三种调接口的方法
  16. 初识c语言加操作系统
  17. 【Python百日基础系列】Day02-Python语法基础
  18. OpenAI chatGPT火爆出圈,世界悄悄发生着变化
  19. 项目管理进阶--软件开发项目中的团队组成
  20. ubuntu训练深度学习模型电脑重启解决方法

热门文章

  1. JDK的目录结构及结构图
  2. dede后台栏目管理文章统计数量和实际文章数不一致解决办法
  3. 使用ucontext组件实现的coroutine代码分析
  4. 领域驱动设计和实践(转:http://kb.cnblogs.com/page/112298/)
  5. 最长公共子序列|最长公共子串|最长重复子串|最长不重复子串|最长回文子串|最长递增子序列|最大子数组和...
  6. 挑战程序设计竞赛 (秋叶拓哉 / 岩田阳一 / 北川宜稔 著)
  7. 【总结整理】JavaScript的DOM事件学习(慕课网)
  8. android传递数据bundle封装传递map对象
  9. WCF 第五章 行为 实现事务(操作行为)
  10. 鹰眼拓扑锁定跟踪 网络管理一目了然