前言
这个插件诞生的原因是因为释放一下自己的小手!由于MVP同种步骤重复类型代码比较多,网上没有看到合适的插件方便管理,于是自己动手写了一个。有的MVP可能并不适合,因为这是按照我思路的MVP配合的插件,如果你和我思路差不多或者觉得这MVP思路还不错,那么恭喜你这插件能帮助你。这个第一版已经开发了半年了,一直没有机会分享出来。今天修改了一些以前的bug,就写下这篇文章和大家做一个简单的介绍。
注意:下面一波图片与动态图,手机流量少的小伙伴别和流量客气!
插件地址
MVPManager:https://github.com/xujiaji/MVPManager
安装

使用效果
1. 开始编辑MVP代码


这个MVPManager搭配xmvp library更加方便,后期可以考虑对默认的继承关系设置成和上次输入一致。
XMVP借鉴Google案例延生出来
地址: https://github.com/xujiaji/XMVP
介绍:XMVP(简洁的MVP框架)
当然你也可以修改默认的继承关系。


2. 逆向管理,单单生成代码不是最终目的,要方便管理。
如何打开:在Contract文件下右键 -> Generate -> MVPManager

直接就可以对MVP进行添加删除管理,注意会同时删除实现类中的方法。

好了到这就结束了,将这小家伙分享给大家,帮助到你了吗?若有帮助欢迎使用和提供宝贵建议!
1.5.0版本更新:
- 优化界面
- 添加自动继承XBasePresenter,当勾选xmvp时
- 添加自动继承XBaseActivity或Fragment

感谢@lgz1112提供建议。
Github:@xujiaji
网友评论
interface Model extends XContract.Model {
void loadm(String id,Login login);
}
interface Login {
void onLoginSuccess(String a);
void onLoginFailed();
}
我在这里手动加了一个接口,
然后在P层,这里实现了,传过去,这样在v层可以接受,个人感觉,也不知道对不对,就是这样每次自己都要手写一个接口
model.loadm(view.getId(), new HomeContract.Login() {
@Override
public void onLoginSuccess(String a) {
view.succellful();
}
@Override
public void onLoginFailed() {
view.fail();
}
});