封装之路(四) BaseFragment BaseViewModel BaseModel

原创 2016年08月28日 21:55:16


框架实时变更,一直在调整,也是自己的实践过程,继续奋斗了。估计大家对实现没啥兴趣,这节结束,后面直接去github地址看更新了,就不再开贴说了。当这个框架完成时,会出一个使用手册出来。

前面写了BaseApp和BaseActivity,我们继续完善这个xmCore库。其中BaseApp进行了一些修改,主要是强制了需要AppComponent,不做太多兼容,只做纯粹的Dagger+MVVM的框架,除此之外的模式不做兼容了。
我们这节来看下BaseFragment,这个其实实现和BaseActivity没啥区别。我们看下源码:完成任务:
获取Baseapp的AppComponent,为依赖全局做注入准备。

initDagger ,自己去写注入,BaseFragment提供一个获取AppComponent的方法

getDataBinding 绑定数据

getViewModel 获取ViewModel 紧跟着mViewModel.init();去完成ViewModel的注入,初始化动作。

initData 初始化Fragment 数据。

经过如此初始化下来,Fragment的创建则完成了。对比上一版本,当前版本加入了ViewModel,因此在BaseFragment 和BaseActivity的生命周期里面,加入了相应的调用。
我们继续来看下BaseViewModel,主要完成Bus的初始化和反注册过程。完成任务:
initDagger 初始化Dagger,非强制,原因是有时我们不需要注入,直接在类的构造函数显式注入。

getModel 返回Model,初始化ViewModel对应的Model,作为数据获取类。

后面setBus和mModel.setBus 为了初始化Bus,后面注册和反注册需要。
initData 初始化数据

如上,BaseViewModel则完成了初步代码。
下来我们继续来看BaseModel,这个相对更简单些,后续进一步修改。
主要做了Bus的post封装,和当请求网络数据时候,将Subscription存下来,当view关闭的时候,进行释放。
接口是在慢慢处理,优化,因此这只是当前的状态,后续在完成基础框架的时候,会进行实战验证,进行修正,当然您有好的建议,欢迎交流。

代码地址:
https://github.com/luxiaoming/xmCore

版权声明:本文为代码GG原创,转发请保留此信息,加入微信代码GG之家,获取更多文章内容,联系代码GG Q 332324956

相关文章推荐

CI框架中封装Model

CI框架是一个轻量级、满足快速开发的php框架,本例对model的常用操作进行了封装,主要是对数据库的操作: 首先new一个基础的model类,继承自CI框架的CI_Model: <?php /**...
  • xwlyun
  • xwlyun
  • 2015-02-13 13:44
  • 1790

nodejs MODEL层 封装(二)

作者:短工邦技术部 - 陈文哲经过《nodejs MODEL层 封装(一)》的封装,MODEL层变得简洁了,但是所有MODEL层的方法都一样,所以显而易见的,下一步封装就是把所有相同的代码封装到Bas...
  • wowkk
  • wowkk
  • 2016-06-07 18:25
  • 2825

nodejs MODEL层 封装(二)

作者:短工邦技术部 - 陈文哲 经过《nodejs MODEL层 封装(一)》的封装,MODEL层变得简洁了,但是所有MODEL层的方法都一样,所以显而易见的,下一步封装就是把所有相同的代码封装到...

BaseActivity和BaseFragment 的封装

修改BaseActiviy的继承为Fragment(可以实现dialogfragment)增加isDebug和APP_NAME,在Application中声明,方便日志打印,区分测试版本和正式版本添加...

从BaseActivity与BaseFragment的封装谈起

这篇博客主要是从BaseActivity与BaseFragment的封装开始,总结自己在实战开发中关于Fragment的注意事项以及心得体会。先看以下效果图: 这里模拟的是用户登录模块,你可能会说,...

从BaseActivity与BaseFragment的封装谈起

这篇博客主要是从BaseActivity与BaseFragment的封装开始,总结自己在实战开发中关于Fragment的注意事项以及心得体会。先看以下效果图: 这里模拟的是用户登录模块,你可...

BaseActivity与BaseFragment的简单封装

原文:http://blog.csdn.net/tyk0910/article/details/51355026 感觉本文写的不错。主要为了做个笔记。欢迎大家访问原文链接 这篇博客主要...

Android 6.0 运行时权限 fragment的简单封装 basefragment

之前直接把activity里面的封装直接搬到fragment里面了 发现有些功能不能正常实现  权限申请结果回调  获取不到返回结果   在网上找到了下面这个解释 Fragment中运行时权限的特殊处...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)