mvp使用详解
2016-05-23 00:16
316 查看
关于mvp的架构,用一个图来解释
![](http://img.blog.csdn.net/20160523001135808?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
然后我们来分析一下代码的结构目录
![](http://img.blog.csdn.net/20160523001631126?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
其中分析
model
只负责业务实现,暴露接口
preseneter
负责处理业务逻辑,其中用接口来来操作,并定义功能逻辑方法
定义m和v的接口
定义逻辑方法和实现
view
这一模块是区别大的地方,主要有 以下几点
1.activity的功能现在只变成动态变更UI
1.2在activity里面定义presenter的实例并调用其方法
2。adapter的定义也在view完成
***********
1获取view数据
2刷新view
3在view 里调用presenter的逻辑方法
4调用model方法
==
然后我们来分析一下代码的结构目录
其中分析
model
只负责业务实现,暴露接口
preseneter
负责处理业务逻辑,其中用接口来来操作,并定义功能逻辑方法
定义m和v的接口
private IMvpView mMvpView; private IRequestData mRequestData;
定义逻辑方法和实现
public void login(){
view
这一模块是区别大的地方,主要有 以下几点
1.activity的功能现在只变成动态变更UI
1.2在activity里面定义presenter的实例并调用其方法
2。adapter的定义也在view完成
***********
1获取view数据
mMvpView.getUsername()
2刷新view
public void setResult(String returnCode) { ((TextView)findViewById(R.id.result)).setText(returnCode); }
3在view 里调用presenter的逻辑方法
mPresenter.login();
4调用model方法
mRequestData.check()
==
相关文章推荐
- H.264 Encoder
- 关于ubuntu16.4 中安装最新的eclipse或者是STS出现页面特卡,且新建项目没有提示,preference选项中点击左侧标签右侧没反应的解决办法,参照google, 排版不太好,希望对一些小伙伴有所帮助
- 微软消息队列(MSMQ)配置使用小结(c#)
- 拿信用卡套个首付买房子——引火自焚
- 一、Ubuntu环境下的gem5运行环境配置
- xml解析
- 关于MySQL的使用记录
- redis学习备忘
- java 实验一Java开发环境(无脑实验系列)
- poj 1860 Currency Exchange
- H264 数据avi文件封装和拆解
- ThreadPoolExecutor里面4种拒绝策略(详细)
- Spring-data-redis:特性与实例
- 什么时候使用覆盖操作
- 正则表达式——肯定环视模拟固化分组
- #pragma_pack(n)_与__attribute(aligned(n))的关系与区别
- 享元模式
- Spark 定制版:006~Spark Streaming源码解读之Job动态生成和深度思考
- 继承,继承的好处
- struts-2小练习