Android四大应用组件之Activity

文章详细介绍了Android中的Activity组件,包括其作为四大应用组件之一的特点、生命周期及其回调方法。同时,解释了Intent的作用,它是组件间通信的信使,分为显式和隐式两种类型,并展示了如何创建和使用Intent来传递数据。此外,还提到了Activity的启动、结束以及生命周期的关键方法。最后,讨论了TaskStack的概念和launchMode的不同模式对Activity的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Activity的理解


1.1活动:四大应用组件之一

组件的特点:

  1. 它的类必须实现特定接口或继承特定类;

  1. 需要在配置文件中配置全类名;

  1. 它的对象不是通过new来创建的,而是系统自动创建的;

  1. 它的对象具有一定的生命周期,它的类中有对应的生命周期回调方法。

1.2作用

提供能让用户操作并与之交互的界面(一个应用有多个Activity)

1.3哪些地方用到了反射?

配置文本中配置全类名,布局文件定义标签,显式意图:Intent(Context context,Class c)

2.Intent的理解


2.1意图

信使(Activity,Service,BroadcastReceiver三个组件间的通信)

2.2分类

显式:操作当前应用自己的组件

隐式:操作其他应用的组件

3.Intent的使用


3.1创建

显式:操作当前应用自己的组件 Intent(Context context,Class activityClass)

隐式:操作其他应用的组件 Intent(String action)//与Activity的<intent-filter>的action匹配

3.2携带数据

额外:putExtra(String key,Xxx value)内部用map容器保存

有特定前缀:setData(Uri data)

3.3读取数据

额外:Xxx getXxxExtra(String key)

有特定前缀:Uri getData()

4.Activity的使用


4.1 定义

1)定义一个类·extends Activity,并重写生命周期方法

2)在功能清单文件中使用<activity>注册

4.2 启动

1)一般启动 startActivity(Intent intent)

2)带回调方法的启动 startActivityForResult(Intent intent,int requestCode)

重写:onActivityResult(int requestCode,int resultCode,Intent data)

4.3 结束

一般:finish()

带结果的:setResult(int resultCode,Intent data)

5.Activity的生命周期


5.1 Activity界面的四种状态

运行状态:可见也可操作;

暂停状态:可见但不可操作;

停止状态:不可见,但对象存在;

死亡状态:对象不存在。

5.2生命周期中常用方法

onCreate():加载布局,初始化工作

onResume():只有经历此方法才进入运行状态

onDestroy():在对象死亡之前,做一些收尾或清理的工作。

6.TaskStack和lauchMode


6.1TaskStack

在Android中,系统用Task Stack(Back Stack)结构来存储管理启动的Activity对象

一个应用启动,系统就会为其创建一个Task Stack来存储并管理该应用的Activity对象

只有最上面的任务栈的栈顶的Activity才能显示在窗口中

6.2 lauchMode

1)standard

标准模式:每次调用startActivity()方法就会产生一个新的实例。

2)singleTop

如果已经有一个实例位于Activity栈顶,就不会产生新的实例;如果不位于栈顶,就会产生一个新的实例。

3)singleTask

只有一个实例,默认在当前Task中。

4)singInstance

只有一个实例,创建时会新建一个栈,且此栈中不能有其他对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不努力的小西瓜

谢谢您,小西瓜会继续努力!

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

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

打赏作者

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

抵扣说明:

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

余额充值