Android中的mvp例子简单易学上手

      Mvp出来也好久了,但是还是有人不怎么会,那今天就把我项目中的mvp摘出来写个demo。先写一个简单的mvp以后在写一个升级版本的mvp。代码下载

Android中的mvp例子简单易学上手

首先,我们来看一下上图,View发送指令给PresenterPresenter获取指令后,调用响应的Model进行业务逻辑处理,然后返回数据给PresenterPresenter根据Model返回的数据再来调用相应的View

 

为什么用MVP

在Android中,Activity中又是setText写view的操作又是网络的请求操作很乱,Activity既有View的性质,也具有Controller的性质,所以导致MVC在Android中很乱而且代码行数很多找个东西很麻烦。而且MVC中View会与Model直接交互,所以Activity与Model的耦合性很高,当后期维护时,稍有变动,可能Model、Activity、XML都会跟着改变,工作量很大,成本太高。

而MVP与MVC最大的不同之处是,MVP将M与V分隔开来,通过P交互,这样在Android中,就可以明确的把Activity当作View处理,虽然可能还有一点逻辑在其中,但是已经无伤大雅;View和Model不直接交互,当View有变动或者Model有变动时,不会相互影响,有太大变动,,耦合性低,对于后期维护来说,特别是项目越来越庞大时,可以很快的理清项目结构,找到需要修改的地方,大大的缩短了工作量。而且,因为View与Model分离的缘故,Model可以单独进行单元测试。

没关系看不懂文字你就照着demo写项目,写着写着你就清除了,因为我之前也是,时间是检验真理的唯一标准。

https://github.com/TangfeiJi/MyMvp  代码下载