Activity-Activity实践技巧
2022-04-14 本文已影响0人
cjjjjjj
1、知晓当前是在哪一个Activity
1.1、Kotlin中的JavaClass表示获取当前实例的对象,相当于在Java中调用getClass()方法。
1.2、Kotlin中的BaseActivity::class.java表示获取BaseActivity类的Class对象,相当于在Java中调用BaseActivity.class。
1.3、新建BaseActivity,成为ActivityTest项目中所有Activity的父类。
![](https://img.haomeiwen.com/i7899325/57ba1576b3f78081.png)
1.4、修改FirstActivity、SecondActivity、ThirdActivity继承BaseActivity,运行程序每当进入一个Activity界面,该Activity的类名就会被打印出来。
2、随时随地退出程序
2.1、新建一个单例类作为Activity的集合,因为全局只需要一个Activity集合。
![](https://img.haomeiwen.com/i7899325/8ee3ff7220baf866.png)
2.2、在BaseActivity中添加代码
![](https://img.haomeiwen.com/i7899325/0be4cdfb2919bb80.png)
2.3、之后不管想在什么地方退出程序,只需要调用ActivityCollector.finishAll()方法就可以了。(举个🌰:如果要在ThirdActivity中退出程序,代码如下)
![](https://img.haomeiwen.com/i7899325/9b345160698cee4f.png)
3、启动Activity的最佳写法
3.1、要从FirstActivity中启动SecondActivity,首先在SecondActivity中添加代码。这里使用了一个新的语法结构companion object,并且在companion object中定义了actionStart()方法。
![](https://img.haomeiwen.com/i7899325/e44cb63d8e62091c.png)
3.2、这样其他页面就可以清晰的知道启动SecondActivity需要传递哪些数据了,启动Activity的代码:
![](https://img.haomeiwen.com/i7899325/c0ef7f0be0f9ab51.png)
Demo地址:https://gitee.com/aaron222/activitytest.git