android开发点滴笔记-活动的最佳实践

1.有时候,我们可能要接手一份别人写的代码,阅读别人的代码时有个很头疼的问题,就是当你需要在某个界面上修改一些非常简单的东西,却半天找不到这个界面对应的活动是哪一个。

技巧:

在原项目的基础上修改,首先->新建一个BasaActivity类

右击包->New->Java Class->在弹出窗口输入BaseActivity

然后让BaseActivity继承自AppCompatActiity,并重写onCreate()方法

在onCreate()方法中获取了当前实例的类名,并通过Log打印出来

接下来我们需要让BaseActivity成为项目中所有活动的父类。修改各个活动的继承结构,让他们不再继承自AppCompatActivity而是继承自BaseActivity。而由于BaseActivity有事继承自AppCompatActivity的,所以项目中所有的活动现有的功能并不受影响,仍可完全继承了Activity中的所有特性。

演示如下:

2.如果我们的程序需要一个注销或者退出的功能

思路:只需要一个专门的集合类对所有的活动进行管理就可以了-->创建活动管理器(ActivityCollector类)

在活动管理器中,我们通过一个List来暂存活动,然后提供了addActivity()方法用于向List中添加一个活动,提供了一个removeActivity()方法用于从List中移除活动,最后提供了一个finishAll()方法用于将List中存储的活动全部销毁掉。

在BaseActivity的onCreate()方法中调用了ActivityCollector的addActivity()方法,表明将当前正在创建的活动添加到活动管理器里。然后在BaseActivity中重写onDestroy()方法,并调用了ActivityCollector的removeActivity()方法,表明将一个马上要销毁的活动从活动管理器里移除。

这样,不管在什么地方退出程序,只需调用ActivityCollector.finishAll()方法就可以了。例如在ThirdActivity界面想通过点击按钮直接退出程序:

重新运行程序:观察logcat中的打印信息如下:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值