前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >封装之路 (二)BaseActivity

封装之路 (二)BaseActivity

作者头像
用户1263308
发布2018-02-01 18:53:58
7800
发布2018-02-01 18:53:58
举报
文章被收录于专栏:代码GG之家代码GG之家

封装之路 (二)BaseActivity

  • 目标 :作为封装,实现BaseActivity,基于Dagger2+Databinding的模式。

当前主要实现基础的框架,后期慢慢加入其他,像Toast之类的,直接疯转在外部控件之列,不在BaseActivity里面,使得BaseActivity尽可能的清晰一些。

自定义Activity,继承BaseActivity即可,实现它的三个抽象方法。

  • getLayoutId,返回Layout值即可,比如R.layout.main这种。
  • initDagger不要返回值,主要是让初始化Dagger2,这里为什么没有帮忙实现,主要是这个情况太多,去做不太现实,所以放出去让自己去做吧。需要注意,这里提供了一个获取AppComponent的方法,目标便是让在依赖的时候,能够轻松拿到app的组件。
  • initData 初始化其他信息即可。

其他可以复写的方法

initDataBinding 默认帮助实现了Databinding的初始化,如果想自定义,直接复写,自己去实现即可。

如果需要双击退出,可以直接使用复写方法实现:

  • getDoubleClickExit 返回是否需要双击退出提示语,默认false
  • getExitTxtId 返回双击退出的提示语信息,默认提示,双击退出。

比起之前做的架构,这里activity简化了许多,原因是之前view很重,现在采用mvvm的思路,因此会将那些耦合的消息事件初始化之类的放入vm那边,到时会配合着这边做相关的对应处理。


项目地址:

https://github.com/luxiaoming/xmCore

路漫漫系其修远兮,吾将上下而求索。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-08-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 代码GG之家 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档