第一行代码2.6-活动的最佳实践

1、知晓当前是哪一个活动
  也就是让每一个活动启动的时候,都打印出活动名。代码如下:

Log.d(tag, getClass().getSimpleName());

  一种方法就是在每一个活动都添加这行代码,还有一种方法是定义BaseActivity,在这个基类中执行这行代码,再让其他所有的活动都继承这个类。
这里写图片描述
  效果如下:
这里写图片描述

2、随时随地退出程序
  通过之前2.5的例子我们知道如果一个应用程序创建了很多的活动,按返回键退出很麻烦,需要点很多次。所以有没有办法可以在任何一个活动都能直接退出程序呢?(注意:System.exit(0)已测,是不行的,跟按返回键的效果一样)
  实现方法是创建一个活动的集合类,统一管理所有活动。其实思路也不难理解:建一个ActivityCollector类,然后这个类有两个静态的方法:一个添加活动,另一个销毁所有活动。程序中所有的活动新建的时候都会存入这个类中,然后如果点击退出程序,这个类就会把所有的程序销毁。(然而错了,还需要一个方法可以销毁指定的活动,因为如果用户点击了返回键,那么这个活动还是会销毁的)
  下面是具体的实现:
这里写图片描述
  然后在BaseActivity中添加:
这里写图片描述
  所以这里可以看到创建基类活动的好处了:如果要实现对活动的统一操作,直接在这个类中添加代码就可以,不用在每一个活动都添加这么麻烦。
  然后定义一个按钮执行ActivityCollector.finishAll()就ok了。
这里写图片描述

3、启动活动的最佳写法
  原来启动活动的写法是先表述一个意图(Intent),然后用startActivity或startActivityForResult启动之。如果有参数需要传递,只要把它们加到intent上就可以了,如下:
这里写图片描述
  但是如果这个项目是多人完成的,实现这两个活动不是同一个人,那么实现FirstActivity的人就得阅读SecondActivity的代码,或者询问实现SecondActivity的人,需要传递什么参数过去,这样对效率肯定会有影响。如果在SecondActivity中定义下面的方法:
这里写图片描述
  不仅对别人来说,更方便地了解SecondActivity需要什么参数,而且在其他活动的跳转代码只需一行:
这里写图片描述
  于人于己都方便。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值