XDroidMvp的最佳打开姿势

转载自  git:https://github.com/limedroid/XDroidMvp/wiki

XDroidMvp也许是目前最好的mvp框架,至少是使用难度最低、维护成本最小的mvp框架。


XDroidMvp的最佳打开姿势_第1张图片

Get Started

使用,仅需四步:

step1

clone 'XDroid'库到本地:

git clonehttps://github.com/limedroid/XDroidMvp.git

step2

将mvp作为依赖库,在您的app module 中 添加如下依赖:

compile project(':mvp')

step3

拷贝conf.gradle到您的项目根目录,并修改项目gradle文件下引入:

applyfrom:"conf.gradle"

并添加:

allprojects {    repositories {        jcenter()        maven { url"https://jitpack.io"}    }}

step4

修改XDroidConf配置类,主要针对log、cache、router、imageloader。若采用默认配置,此步骤可略过.

Mvp篇


XDroidMvp的最佳打开姿势_第2张图片

简而言之:P充当V和M的中间人,当V中需要M时,才会有P.

XActivity、XFragment、XLazyFragment是对V的封装,

XPresent是对P的封装。

可直接继承这些类,简化操作.

简单UI可以没有P

适合V中不需要M的情况,如网络api操作、数据缓存等.

此时getP()会返回null,换而言之,在v中不需要调用getP()方法

publicclassNoPActivityextendsXActivity{@OverridepublicObjectnewP() {returnnull;    }}

一个P对应一个V

适合绝大多数情况

此时在P中可通过getV()获取对应的V,在V中可通过getP()获取对应的P

V的定义:

publicclassSinglePActivityextendsXActivity{@OverridepublicPSinglenewP() {returnnewPSingle();    }}

P的定义:

publicclassPSingleextendsXPresent{}

一个P对应多个V

此种情况也时常出现,和上面一样,在P中可通过getV()获取对应的V,在V中可通过getP()获取对应的P

详情链接  git地址:https://github.com/limedroid/XDroidMvp/wiki

你可能感兴趣的:(XDroidMvp的最佳打开姿势)