封装之路 (二)BaseActivity

封装之路 (二)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

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

原文发布于微信公众号 - 代码GG之家(code_gg_home)

原文发表时间:2016-08-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏微信公众号:Java团长

Java后端程序员1年工作经验总结

  毕业已经一年有余,这一年里特别感谢技术管理人员的器重,以及同事的帮忙,学到了不少东西。这一年里走过一些弯路,也碰到一些难题,也受到过做为一名开发却经常为系统...

2602
来自专栏Java架构沉思录

优雅实现延时任务之Redis篇

PS:这篇文章昨天已经推送过了,不过忘了标原创,今天标个原创再发一次,昨天看了的可以不用往下看了。

2292
来自专栏MixLab科技+设计实验室

设计师编程指南之Sketch插件开发 1

发现网上关于sketch插件开发的指南太少了,而且都不一定可以成功运行,于是我就写了这个系列的文章: 1 我们需要了解的语法特点 sketch 是基于 Coc...

6618
来自专栏Android开发与分享

【Android】Android开发架构规范【转】

3829
来自专栏云计算

JClouds的命令行界面

我已经使用jclouds一年多了,也一直为它的进步做贡献。目前为止,我已经在很多领域广泛地使用它,特别是在 Fuse Ecosystem 。总之,它是一个特别棒...

2597
来自专栏微信终端开发团队的专栏

MMKV for Android 多进程设计与实现

MMKV 是基于 mmap 内存映射的移动端通用 key-value 组件,底层序列化/反序列化使用 protobuf 实现,性能高,稳定性强。从 2015 ...

4031
来自专栏美团技术团队

Node.js Stream - 进阶篇

在构建较复杂的系统时,通常将其拆解为功能独立的若干部分。这些部分的接口遵循一定的规范,通过某种方式相连,以共同完成较复杂的任务。譬如,shell通过管道|连接各...

4254
来自专栏一枝花算不算浪漫

[Java面试七]Mybatis总结以及在面试中的一些问题.

49014
来自专栏安恒网络空间安全讲武堂

MOCTF WEB 题解

0x00 MOCTF平台是CodeMonster和Mokirin这两支CTF战队所搭建的一个CTF在线答题系统。网址是http://www.moctf.com/...

7999
来自专栏Seebug漏洞平台

Wordpress <= 4.6.1 使用主题文件触发存储型XSS 漏洞分析

Author: p0wd3r (知道创宇404安全实验室) 0x00 漏洞概述 1.漏洞简介 WordPress是一个以PHP和MySQL为平台的自由开源的博客...

3294

扫码关注云+社区

领取腾讯云代金券