一、Android四大组件
1.activity(页面)
2.service(服务)
3.content provider(内容提供者)
4.broadcast receiver(广播接收者)
二、Activity
1.是Android四大组件值一,用于显示View,是一个负责与用户交互的组件,可以通过setContentView(view)来显示指定的控件
2.Activity创建时的生命周期
- onCreate() onStart() onResume()
3.当Activity销毁时的声明周期
onPause() onStop() onDestory()
4.当Activity跳转到第二个Activity的生命周期
第一个页面 onPause()---->onStop()
第二个页面 onCreate()---->onStart()---->onResuse()
5.如何保证所有的Activity退出
- 注册广播:在主Activity中申明一个广播接收器并注册广播,在子Activity中发送广播,当推出的时候发送广播就可以
- 使用集合:BaseActivity中用集合吧所有Activity添加到集合,并让其他的Activity都继承它,退出时,直接销毁BaseActivity,其他继承BaseActivity的Activity也会被销毁
- 抛出异常,强制退出
- System.exit(0):终止程序并杀死进程 杀掉进程的方法:点击启动任务管理器,进入界,选择姓名能列表项
6.Activity的启动模式
- standard: 只要创建对象的实例,就会被添加到栈中,可重复叠加(叠加 就是只要创建Activity就会被添加到栈中 的热词启动此Activity,也会创建一个实例并添加到栈中)
- singleTop 不允许多个相同Activity叠加,当Activity在栈顶的话,启动相同的Activity不会创建新的实例
- singleTask : 有弹栈的效果
- Singlestance 只有一个实例,并且这个实例独立运行在一个栈中,这个栈中只有这个实例,不允许有别的Activity存在
7.startActivityForResult
startActivityForResult:仅仅是跳转到目标页面(无法接受目标页面的返回值)
startActivityForResult 是Activity回传值,里边设有需要跳转的Activity和请求码(跳到第二页面的时候,进行页面的finish()或通过back键返回上一个页面时,将值传给第一个Activity)
在第二个页面需用到一个setResult()方法,此方法中需要设置第二个页面回传的值和响应码
第一个页面还需要在写一个onActivityResult()回调,在此方法中接收回传数据,要判断响应码和请求码是否一致
(Intent参数:接收通过Key来获取到的数据,请求码必须》=0,响应码:判断具体的Activity回传过来的值)