Android 四大组件 -- Activity

Android开发的四大组件分别是:
  • 活动(activity),用于表现功能;
  • 服务(service),后台运行服务,不提供界面呈现;
  • 广播接受者(BroadcastReceive),勇于接收广播;
  • 内容提供者(Content Provider),支持多个应用中存储和读取数据,相当于数据库
本文讲的是活动(Activity)

Activity是Android的四大组件之一。是用户操作的可视化界面;它为用户提供了一个完成操作指令的窗口。当我们创建完毕Activity之后,需要调用setContentView()方法来完成界面的显示;以此来为用户提供交互的入口。在Android App 中只要能看见的几乎都要依托于Activity,所以Activity是在开发中使用最频繁的一种组件。

上面意思大致是
1,Activity用于显示用户界面,用户通过Activity交互完成相关操作
2, 一个App允许有多个Activity

  • 一个Activity通常就是一个单独的屏幕(窗口)
  • 两个Activity之间通过Intent进行通信
  • 每一个Activity都必须要在AndroidManifest.xml配置文件中声明,android stdio会自动生成,注意:所有组件都必须在配置文件中声明
  • Activity的生命周期
    在这里插入图片描述
一、接下来详细分析Activity的生命周期

从开始到销毁有七大方法

  • onCreate() Activity创建时第一个调用的方法,通常我们在该方法中加载布局文件,初始化UI组件,事件注册等等
  • onStart() 在onCreate方法之后调用,用于显示界面,但当前用户不能进行交互
  • onResume() 在onStart方法后调用,该方法执行完成后,用户可进行交互,当前Activity进入Resumed状态(运行状态);当一个Paused状态的activity被重新返回时,会再次调用该方法,让Activity进入运行状态
  • onRestart() 当一个Stopped状态的Activity被返回时,该方法被调用,之后再调用onResume()方法进入运行状态
  • onPause() 当其他Activity(透明或窗口模式)进入时,该方法会被调用,让当前Activity进入Paused状态(暂停状态);当前Activity还可见但不可交互,如果其他更高优先级的app需要内存时,当前Activity可能会被销毁(kill);当前Activity被返回时会调用onResume()方法
  • onStop() 当其他Activity完全覆盖该Activity时,该方法被调用,当前Activity进入Stopped状态(停止状态);当前Activity不可见,如果其他更高优先级的app需要内存时,当前Activity可能会被销毁(kill);当前Activity被返回时会调用onRestart()方法
  • onDestroy() 当前Activity被销毁时调用,通常在该方法中用来释放资源,当前Activity killed
二、文字叙述的很详细了,刚开始可能看不明白,没关系,下面上图分析
  • 新建一个项目-- 或者新建一个Activity
    在这里插入图片描述
  • 我们是要看看这些方法是何时触发的,就用打印的方式来测试,每个方法都写个打印事件
Log.e("TAG","要打印的内容");

在这里插入图片描述

三、接下来就要运行到模拟机或者是真机(手机)上
  • 针对一个Activity
    在这里插入图片描述

  • 如果是模拟机 ,打开模拟机,会默认选中
    推荐模拟机 雷电官网下载

  • 如果是手机测试 ,需要打开开发者选项,usb调试 (每种机型打开开发者模式有的不一样,去百度一搜就有教程)

  • 这里我用的是手机测试,连接usb后
    在这里插入图片描述

  • 点击运行,成功后我们看下面的Run控制台,会发现显示一个Activity

  • 会走三个方法onCreate() , onStart() , onResume()
    在这里插入图片描述

  • 当直接退出,返回主界面,会走三个方法onPause() , onStop() , onDestroy()
    在这里插入图片描述

  • onRestart() 平时对这个方法的调用时机比较少,比如在当前页面锁屏,又打开,会走这个方法,有兴趣可以自己试一下。

  • 针对两个或多个Activity之间的跳转,方法的调用变化

  • 新建一个页面
    在这里插入图片描述

  • 完成后,把打印事件写出来
    在这里插入图片描述

  • 接下来就是从Activity1 跳转到 Activity2 ,给Activity1 一个点击跳转事件

  • 先是第一个Activity1页面 --> onPause()

  • 第二个页面Activity2的 --> onCreate2() , onStart2() , onResume2()

  • 再是第一个页面 --> onStop()
    在这里插入图片描述

  • 接下来就是从Activity2 返回到 Activity1

  • 第二个Activity2页面 --> onPause2()

  • 第一个页面Activity2的 --> onRestart() , onStart() , onResume()
    注意:当没有销毁Activity时,再次显示,是不会走onCreate()

  • 再是第二个页面 --> onStop2() ,onDestroy2()
    在这里插入图片描述

  • 以上是整个介绍,如果有不理解,欢迎留言讨论

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AaVictory.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值