Android的碎片fragment和activity之前的关系 以及MVP模式详解

11 篇文章 0 订阅
2 篇文章 0 订阅

参考原文:https://www.jianshu.com/p/bbb3b77d47eb

GoogleMVP机制:https://blog.csdn.net/jungle_pig/article/details/65626469

1、activity与fragment传值

当activity动态加载fragment时可以通过fragment的setArguments()传入值;

在fragment类中通过fragment的getArguments()方法获得传入的值 ;

MVP结构图:

参考原文:https://blog.csdn.net/swust_zeng_zhuo_k/article/details/78760947
 创建MVP模式是需要经过一下几个步骤:
 1、创建IPresenter接口,把所有的业务逻辑的接口搜放在这里,并创建他的实现PresenterImpl,
 2、创建IView接口,把所有的视图逻辑的接口都放在这里,其实现类是Activity/Fragment
 3、由UML试图可以看出,Activity包含了一个IPresenter,而PresenterImpl包含了IVew并依赖了Model,
     Activity只保留了对IPresenter的调用,其他的都放在PresenterImpl中实现,
 4、model并不是必须有的,但是一定会有Presenter和View
 

注意:虚线三角箭头:实现;虚线箭头:依赖; 实线三角:关联

 

Google提出的一种MVP实现方式,步骤:

1.BasePresenter

2.BaseView

两个接口分别作为Presenter和View的基类,仅定义了最基本的方法,具体页面的view和presenter则分别定义继承的接口,添加属于自己页面的方法。

3.Contract 契约类

这是Google MVP与其他实现方式的不同之一,契约类用于定义同一个界面的view和presenter的接口,通过规范的方法命名或注释,可以清晰的看到整个页面的逻辑。

4.具体的Impl类

Fragment实现View接口,这里使用Google推荐的创建Fragment实例的static方法newInstance(),将fragment必备的参数传入。

 

Presenter实现类,提供一个参数为对应View的构造器,持有View的引用,并调用View的setPresenter()方法,让View也持有Presenter的引用,方便View调用Presenter的方法。

5.最后就是Activity

创建view以及presenter实例,并将二者联系起来。

 下图是Google官方Demo:todo-mvp模式的架构图

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值