android 使用MVP模式完成一个小demo——登陆
2017-07-08 16:39
351 查看
mvp模式已经火很久了,之前也看网上好多人都在讨论这个设计模式,从网上下载过很多demo,可能是基础不到位,挺难理解的。这段时间公司来的新同事,听说他就是使用这种模式开发,一时好奇就跑过去请教了一波,趁热打铁,自己再研究一波,希望有所突破。
百度下来,发现一篇简而易懂的好文,特贴出来https://segmentfault.com/a/1190000003927200。我的demo是一个登陆功能,也是这篇文章里的一个功能,本宝依葫芦画瓢看了下自己照着打了一波,若有所获。
首先来看看mvp的构成:
MVP的好处:
我是第一次使用MVP模仿写demo, 除了发现会创建好多接口,还有逻辑处理很清晰以外,并未发现其他优点,嘿嘿。
MVP的使用:
敲完demo,感觉这张图的表达简直不要太完美。
1、Activity(或者Fragment)需要继承IVew接口, IVew接口是专门处理界面UI变化的,里面有一系列和界面有关的方法;
2、Acitity还需要实例化IPresenter接口,IPresenter接口专门处理业务逻辑,里面有一系列和业务逻辑相关的方法;
3、PresenterCompl类继承IPresenter接口, 包含IVew接口,这个类实现IPresenter接口的具体方法,并传入IView里对应的方法来通知Activity。
4、Model并不是必须有的,但是一定会有View和Presenter。
代码上传到github上了,在mvpdemo里面:https://github.com/jjjSilence/jjjPlus/tree/master/mvpdemo
百度下来,发现一篇简而易懂的好文,特贴出来https://segmentfault.com/a/1190000003927200。我的demo是一个登陆功能,也是这篇文章里的一个功能,本宝依葫芦画瓢看了下自己照着打了一波,若有所获。
首先来看看mvp的构成:
M:model (数据结构,可以理解成JavaBean)
V:View (UI界面, layout布局等)
P:Presenter (业务逻辑处理接口)
MVP的核心思想:MVP的好处:
我是第一次使用MVP模仿写demo, 除了发现会创建好多接口,还有逻辑处理很清晰以外,并未发现其他优点,嘿嘿。
MVP的使用:
敲完demo,感觉这张图的表达简直不要太完美。
1、Activity(或者Fragment)需要继承IVew接口, IVew接口是专门处理界面UI变化的,里面有一系列和界面有关的方法;
2、Acitity还需要实例化IPresenter接口,IPresenter接口专门处理业务逻辑,里面有一系列和业务逻辑相关的方法;
3、PresenterCompl类继承IPresenter接口, 包含IVew接口,这个类实现IPresenter接口的具体方法,并传入IView里对应的方法来通知Activity。
4、Model并不是必须有的,但是一定会有View和Presenter。
代码上传到github上了,在mvpdemo里面:https://github.com/jjjSilence/jjjPlus/tree/master/mvpdemo
相关文章推荐
- android使用mvp模式实现登陆demo
- 转一个QQ登陆SDK使用说明,附SDK以及demo
- 使用php完成一个用户注册以及管理的demo(三)
- 一个简单的demo学习Android远程Service(AIDL的使用)
- 使用Putty提供的plink.exe来自动登陆一个机器并执行命令,完成后自己关闭
- android 使用TextInputLayout创建一个登陆界面
- 一个简单的demo学习Android远程Service(AIDL的使用
- 一个完整的Nodejs项目 完成连接数据库(MySQL),登陆、注册功能 session的使用 和发送邮件
- 一个简单的demo学习Android远程Service(AIDL的使用)
- Android 小项目之---- 计算器 使用同一个事件监听完成 加减乘
- 使用php完成一个用户注册以及管理的demo(php实现单文件与多文件的上传)
- 这是一个使用mvp模式实现模拟用户登录的简单Demo。
- 使用百度地图开发一个导航定位demo-android学习之旅(77)
- Android 使用MVP模式 实现一个查询功能。
- 一个简单的demo学习Android远程Service(AIDL的使用)
- 使用php完成一个用户注册以及管理的demo(二)
- 使用百度地图开发一个导航定位demo-android学习之旅(77)
- Android进阶UI之使用TextInputLayout创建一个登陆界面
- Android 即时通讯 使用TextInputLayout创建一个登陆界面
- Android Service 使用,一个简单音乐播放器 DEMO(二)