Android开发truck快速开发框架MVP实现(二)
2018-01-23 09:42
537 查看
简介
truck项目的github地址:https://github.com/hookYuan/TruckAndroid开发上的设计模式也是变了好多次,但是在近两年提的最多的还是mvp设计模式和mvvm设计模式(mvc很少有人推荐,一般只是用作对比)。对于mvp和mvvm我不想评论他们的好坏,我觉得用设计模式的好处就是可以实现解耦和提高代码的可读性。由于
我近一年代码风格主要采用mvp设计模式,所以我再框架中集成了mvp的快速实现。
mvp主要是针对Acitvity和fragment的代码做的简单封装。基本设计思想是通过MVPActivity建立Activity和Presenter的一对一对应
关系,然后在presenter中可以调用Activity中的代码,也可以在Presenter中操作Moudle中的代码。
示例
MVPActivity中添加Presenter的泛型,然后可以通过getP()方法获取Presenter实例,具体使用方法如下:public class TestActivity extends MVPActivity<PTest> { @Override protected void initData(Bundle savedInstanceState) { getP().getPersonList(); } @Override public int getLayoutId() { return R.layout.activity_test; } }
XPresenter中添加Activity的泛型,然后可以通过getV()方法获取Activity的实例,具体使用方法如下:
public class PTest extends XPresenter<TestActivity> { public void getPersonList() { //TOTO 其他操作 } }MVPFragment和MVPActivity有相同的用法。MVP的内部实现主要是通过反射泛型动态生成Presenter实例。
快速实现:
尽管这样的方式实现MVP的模式已经十分的方便了,但是如果你一直是一个人开发,平时不怎么用设计模式,你还是会觉得为什么要这么麻烦?代码放到Activity中不是更快捷吗?答案是肯定的,是的,确实你的方式更快。但是你没有考虑过让数据和界面解耦吗?这样你费了九牛二虎之力搭建的界面,和费了九牛三虎之力写的逻辑代码都能实现单独的复用。从长远来看,这样不是更方便吗。为了更快的方式实现以上mvp的设计模式实现,大家可以采用采用MVPActivity模板。当你创建的Activity的时候,一键自动生成MVP风格代码。具体实现如下:导入MVPActivity模板。模板的位置在truck项目下的template文件夹下,找到MVPActivity模板后,打开Android studio的安装目录:......\Android Studio\plugins\android\lib\templates\activities。找到activities文件夹后,复制放入我们的MVPActivity模板即可,重启Android studio。
创建MVPActivity模板。创建MVPActivity和你平时创建Activity的方式一样,只是这里在Activity的创建列表中会多一项MVPActivity模板,选择MVPActiviyt模板即可。
预填参数。这时候你见到的界面应该是如下图,这里的FunctionName即你需要创建的Activity名称。module name,为了给代码结构模块化分类。例如创建Activity为user模块,只需填入user即可。创建MVPActivity会同时创建一个与之对应的Presenter.这样你就可以愉快地写MVP风格代码了。
ps:后面还有很多快速实现的技巧,truck框架的目的是让开发更简单、更高效。
最后附上truck快速开发交流qq群:698442320
相关文章推荐
- XDroidMvp 轻量级的Android MVP快速开发框架
- android mvp快速开发框架介绍(dileber的简介)
- Android开发truck快速开发框架使用说明(一)
- 【Android进阶】使用Andbase快速开发框架实现常见侧滑栏和滑动标签页组合效果
- Android Studio开发快速创建MVP框架插件AndroidMVP
- android快速开发框架--快速实现 页面 加载中 加载失败 无数据等状态以及下拉刷新和自动加载
- android mvp快速开发框架介绍(dileber使用之小工具使用)
- QuickTV:一款基于AndroidQuick快速开发框架实现的直播APP
- Android开发truck快速开发框架Dialog(五)
- 【Android进阶】使用Andbase快速开发框架实现常见侧滑栏和滑动标签页组合效果
- Android开发truck快速开发框架 album(十)
- android mvp快速开发框架介绍(开始dileber)
- android悬浮球实现各种功能、快速开发框架、单词、笔记本、应用市场应用等源码
- Android开发truck快速开发框架Adapter(四)
- android mvp快速开发框架介绍(dileber使用之图片下载工具)
- android mvp快速开发框架介绍(dileber的集成)
- Android开发truck快速开发框架TitleBar(六)
- Android开发truck快速开发框架 Shape(八)
- Android开发truck快速开发框架Activity、Fragment(三)
- Android Studio开发快速创建MVP框架插件AndroidMVP