Android MVP 实例
简单的请求天气功能,演示Android MVP是如何使用的
效果预览
准备
MVP流程
说明:
步骤1:UI实现View方法,引用Presenter
步骤2:Presenter调用Model,走Model具体逻辑
步骤3:Model逻辑实现,回调Presenter方法
步骤4:Presenter回调View,即回到UI,回调View方法
gradle文件
|
|
说明:请求网络使用async-http
目录结构
MVP之V
MainView.java
|
|
MainActivity
|
|
MVP之P
MainPresenter.java
Presenter
IMainPresenter
MVP之M
MainModel
MainModelBean
源码地址
https://github.com/WuXiaolong/AndroidMVPSample
总结
MVC模式
视图(View):用户界面。
控制器(Controller):业务逻辑
模型(Model):数据保存
View 传送指令到 Controller
Controller 完成业务逻辑后,要求 Model 改变状态
Model 将新的数据发送到 View,用户得到反馈
MVP模式
使用MVP时,Activity和Fragment变成了MVC模式中View层,Presenter相当于MVC模式中Controller层,处理业务逻辑。每一个Activity都有一个相应的presenter来处理数据进而获取model。
MVVM模式
将 Presenter 改名为 ViewModel,基本上与 MVP 模式完全一致。唯一的区别是,它采用双向绑定(data-binding):View的变动,自动反映在 ViewModel,反之亦然。