android开发-mvp模式理解
看之前,先忘掉所有,一步步看就行了。 最后会有一个原型demo,当然是转的了。看完文章,再看demo,然后再回头看文章就很好理解了,最好自己写一遍。
1.mvp开发模式可以理解为页面接口编程,每一层的骨架都是先通过建立接口,定义每层的必要方法,再实现方法完成的。
2.在mvp开发模式中,把每个模块代码分为三个层,View,presenter,model层。
3.view层从字面意义上理解,就是视图层,在安卓的mvp开发模式中,把activity,fragment,等 一些界面显示看作是视图层,在这些视力层中,只做一些视图变换操作,不对数据,逻辑进行操作。
3.1.建立接口:通过原形设置上,根据布局界面会有哪些改变,来编写对应的接口方法。
3.2.实现接口,在对应的接口方法中,完成视图变换操作。
3.3.仅view层对视图进行操作。初始化presenter层接口实现类对象,并把view层接口实现类的对象发送过去,以便presenter层对view层进行操作。
4.presenter层,控制层,在presenter层中,持有view,model层的接口实现类的对象,是通过这两个层实现类对象对分别对这两个层进行操作。
4.1.建立接口:需要创建两个接口
4.1.1:接口1.根据view层要实现的功能,编写出相应的对接口方法,
4.1.2:接口2.根据model层要回调回来的数据,编写对应的回调接口,与方法。
4.2.实现接口1,2,在对应的方法中,通过view层实现类的对象对view层进行操作,通过model层实现类的回调方法,得到业务数据
4.3.通过以上两部,完成view层与model层的解耦与控制。
5.model层,是对数据进行请求,操作的层,处理完后,可以把数据通过回调的方式先回调给presenter层,presenter层再通过持有的view层的接口实现类的对象中的一些方法,对view层进行操作。
5.1.建立接口,通过对业务数据需求建立接口方法。
5.2.实现接口,在实现类方法中完成对业务数据的逻辑操作,然后通过presenter的接口回调方法把数据传递给presenter层。
5.3.本层只操作数据,不对视图进行任务操作。
Mvp Demo:一个粟子.
收藏的比较好的mvp博客:一篇足矣。
android开发-mvp模式理解的更多相关文章
- Android开发MVP模式解析
http://www.cnblogs.com/bravestarrhu/archive/2012/05/02/2479461.html 在开发Android应用时,相信很多同学遇到和我一样的情况,虽然 ...
- Android开发 MVP模式的规范记录(个人总结)
前言 首先,这篇文章不在讲解什么是mvp模式,如果需要请自行搜索mvp模式文章了解.这个文章里我只记录mvp模式的创建和mvp各自层的界限.另外这个博客属于个人使用mvp模式后一些经验总结与记录.并不 ...
- ym——Android开发MVP模式(攻克了View和Model的耦合)
转载请注明本文出自Cym的博客(http://blog.csdn.net/cym492224103),谢谢支持! 什么是MVP呢?它又和我们经常听到的MVC有什么关系了以及差别呢? MVP 是从经典的 ...
- android的MVP模式
MVP简介 相信大家对MVC都是比较熟悉了:M-Model-模型.V-View-视图.C-Controller-控制器,MVP作为MVC的演化版本,那么类似的MVP所对应的意义:M-Model-模型. ...
- 说说Android的MVP模式
http://toughcoder.NET/blog/2015/11/29/understanding-Android-mvp-pattern/ 安卓应用开发是一个看似容易,实则很难的一门苦活儿.上手 ...
- android中MVP模式(一) - 清风明月的专栏 - CSDN博客
presenter 主持人.主导器 ====== 1. 明确需求,界面如下:可存,可根据id读取数据. 包结构图 2. 建立bean public class UserBean { private S ...
- Android中MVP模式与MVC模式比較(含演示样例)
原文链接 http://sparkyuan.me/ 转载请注明出处 MVP 介绍 MVP模式(Model-View-Presenter)是MVC模式的一个衍生. 主要目的是为了解耦,使项目易于维护. ...
- Android之MVP模式实现登录和网络数据加载
MVP简介 相信大家对 MVC 都是比较熟悉了:M-Model-模型.V-View-视图.C-Controller-控制器,MVP作为MVC的演化版本,也是作为用户界面(用户层)的实现模式,那么类似的 ...
- (未完成)【Android】MVP模式初见(一)
最近在阅读郭霖大神的公众号时,分类中架构引起了我的注意. 虽然是个人开发(水平很菜的那种),但最终都要向企业正式项目开发靠近.因此接下来一段时间,主要学习一下MVP架构.Retrofit以及RxJav ...
随机推荐
- AspNet MVC中各种上下文理解
0 前言 AspNet MVC中比较重要的上下文,有如下: 核心的上下文有HttpContext(请求上下文),ControllerContext(控制器上下文) 过滤器有关有五个的上下文Actio ...
- 一个div里有多个a标签,改变a标签的字体颜色方法
<script type="text/javascript">var all=document.getElementById("big");var ...
- Redis使用系列目录(一)
环境介绍 Redis 安装 Redis配置文件详解 Redis主从复制搭建 Redis集群环境搭建 Redis高可用
- RealSense开发-Session和SenseManager的几种创建方法
从Intel RealSense 的SDK文档对其架构(如图1所示)的始描述可知,Session是SDK应用的主控模块,必须在所有模块操作之前创建,并且在所有模块注销后最后注销.SenseManage ...
- CSS3打造3D效果——perspective transform的深度剖析
声明:此篇博文虽是自己手写,但大量资源取自 张鑫旭 的博文.想看更详细 更专业的剖析请看张鑫旭的博文. 昨天对css3的transform做了初步的分析和认识,突然看到perspective属性,调了 ...
- build.fxbuild打不开 Failed to create the part's controls
Failed to create the part's controls 以文本形式打开之后,发现编码的地方不是常用编码 将之修改为GBK 然后就可以正常打开了 最后把eclipse中的编码统一设置为 ...
- webbench---linux压测工具
webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好用,安装使用也特别方便,并且非常小. 1.适用系统:Linux-CentOs 2.编译安 ...
- 【oracle】oracle学习笔记2--scoot账户的激活与解锁
1.用sysz账户as sysddba登录,并执行scott.sql文件.我的文件目录是C:\oraclexe\app\oracle\product\11.2.0\server\rdbms\admin ...
- android JNI开发
1.NDK简介 NDK(Native Development Kit)NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk.NDK集成了交叉 ...
- Centos下Yum安装PHP5.5,5.6,7.0
默认的版本太低了,手动安装有一些麻烦,想采用Yum安装的可以使用下面的方案: 1.检查当前安装的PHP包 yum list installed | grep php 如果有安装的PHP包,先删除他们 ...