Android四大组件之一Activity

一、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回传过来的值)

猜你喜欢

转载自blog.csdn.net/hy3098626581/article/details/79962651