android MVP连接服务器,详解Android MVP开发模式

本文主要讲解mvp开发模式以及具体实例。

一、简介

mvp(model view presenter)模式是著名的mvc(model view controller)模式的一个演化版本,目前它在android应用开发中越来越重要了。初看起来我们会感觉增加了很多类接口代码看起来更加清晰。

mvp模式可以分离显示层和逻辑层,所以功能接口如何工作与功能的展示可以实现分离,mvp模式理想化地可以实现同一份逻辑代码搭配不同的显示界面。不过mvp不是一个结构化的模式,它只是负责显示层而已,任何时候都可以在自己的项目结构中使用mvp模式。(不局限于android项目开发)

因为mvp其实就是从mvc模式演化产生的,那么我们先看一下著名的mvc模式:

view:对应于布局文件

model:业务逻辑和实体模型

controller:控制器,android中对应于activity

对应的交互图如下:

1633351J9-0.png

虽然android系统应用开发本身是遵循mvc开发模式的,但是我们仔细看一下view层和activity,具体view布局文件中的数据绑定和事件处理的方法代码都是冗余在activity中的,所以我们经常看可以看到activity类动不动就是少则九百行,多则上千甚至几千行。那么现在的演化升级版本的mvp的模式又是怎么样的呢?mvp模式会引入  presenter层,该机型复杂完成view层和model层的交互,那么具体mvp对应如下:

view:view通常来说是由activity实现的,它会包含一个presenter的引用,view要做的就只是在每次有接口调用的时候(比如按钮点击后)调用presenter的方法。

model:业务逻辑和实体模型

presenter:主要作为沟通view和model的桥梁,它从model层检索数据后,返回给view层,但是不像mvc结构,因为它也可以决定与view层的交互操作。

数据交互图如下:

16333535D-1.jpg

观察上面两个模式的交互图,是不是mvp模式更加清晰简单啊!

二、mvc和mvp区别

我们来具体看一下下面两张对比,就可以看来具体区别了:

1633354O2-2.jpg

观察上图我们可以发现mvp模式中,view 和model的交互是通过presenter来进行完成,这样统一管理,逻辑会更加清晰。

三、mvp模式例子讲解

3.1.具体实现功能需求:我们是用mvp模式来进行实现用户登录操作.

3.2.例子实例如下:

16333520W-3.jpg

3.3.项目代码框架如下:

16333525O-4.jpg

3.4.代码具体实现:

3.4.1.model层:bean类(entity),personbean类,然后在业务逻辑类中有登录方法,同时把登录成功状态回调接口传入进入,具体如下:

?

?

?

?

3.4.2.view层:该通过presenter与view进行交互,这边需要定义一个接口iloginview:

?

有了上面的接口之后,我们就需要写我们的实现类activity了,就非常简单了

?

最后还少一个交互桥梁presenter:

3.4.3.presenter层:作为model和view之间的交互桥梁,在本例中进行执行登录操作,然后去model业务中执行登录,最后把登录结果信息返回给view层,就是这么简单:

?

到此我们的mvp模式的例子就大体完成了,看一下上面的效果演示就ok了。

以上就是本文的全部内容,希望对大家学习android软件编程有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值