转载自 git:https://github.com/limedroid/XDroidMvp/wiki
XDroidMvp也许是目前最好的mvp框架,至少是使用难度最低、维护成本最小的mvp框架。
Get Started
使用,仅需四步:
clone 'XDroid'库到本地:
git clonehttps://github.com/limedroid/XDroidMvp.git
将mvp作为依赖库,在您的app module 中 添加如下依赖:
compile project(':mvp')
拷贝conf.gradle到您的项目根目录,并修改项目gradle文件下引入:
applyfrom:"conf.gradle"
并添加:
allprojects { repositories { jcenter() maven { url"https://jitpack.io"} }}
修改XDroidConf配置类,主要针对log、cache、router、imageloader。若采用默认配置,此步骤可略过.
简而言之:P充当V和M的中间人,当V中需要M时,才会有P.
XActivity、XFragment、XLazyFragment是对V的封装,
XPresent是对P的封装。
可直接继承这些类,简化操作.
适合V中不需要M的情况,如网络api操作、数据缓存等.
此时getP()会返回null,换而言之,在v中不需要调用getP()方法
publicclassNoPActivityextendsXActivity{@OverridepublicObjectnewP() {returnnull; }}
适合绝大多数情况
此时在P中可通过getV()获取对应的V,在V中可通过getP()获取对应的P
V的定义:
publicclassSinglePActivityextendsXActivity{@OverridepublicPSinglenewP() {returnnewPSingle(); }}
P的定义:
publicclassPSingleextendsXPresent{}
此种情况也时常出现,和上面一样,在P中可通过getV()获取对应的V,在V中可通过getP()获取对应的P
详情链接 git地址:https://github.com/limedroid/XDroidMvp/wiki