项目源码github地址:“IReader”一个简单的mvp模式应用,欢迎Issues,star!
- 关于分包
M :model
V :view(view放在ui包中)
P :presenter
关于model
model中包含数据相关的实体enpty和和定义的model接口,一届model的实现类的包modelimp
关于View
view包放在ui包下,主要是界面相关的代码,view包中定义fragment或者Activity实现的方法(以本项目为例),包括显示/影藏正在加载,显示加载结果错误界面和成功的数据显示
具体的方法右fragment或者Activity去实现
在view视图加载完成后,将view的应用传递到presenter中,是p层能够操作v层
在presenter 的构造函数中接收View 的引用,同时获得Model的引用,presenter 还需要实现一个接口,给model回调改变View层的状态
定义的接口作为参数传递到Model层
P层的构造函数中获取到Model层的引用和View层传递过来的View的引用,控制View的显示和Model层的数据加载
在model中进行网络的请求数据的加载,请求的结果通过p层的监听,通知p层,改变V层的显示
P层获取到model层的结果控制View层显示的改变