Android Activity与Intent详解:生命周期及Intent使用

需积分: 10 1 下载量 183 浏览量 更新于2024-09-13 收藏 216KB DOCX 举报
"Android提高第四篇之Activity+Intent.docx" 在Android开发中,Activity和Intent是两个核心概念,它们在构建应用程序的交互和流程中起着至关重要的作用。本资源主要探讨了Activity的生命周期以及Intent的使用,特别是如何在不同Activity之间进行跳转和通信。 Activity是Android应用中的一个视图组件,它代表用户可以看到和交互的一个屏幕。Activity的生命周期包括以下几个关键状态: 1. onCreate():当Activity首次创建时调用,这是设置界面布局和初始数据的地方。 2. onStart():当Activity变得对用户可见时调用,但可能还没有完全显示。 3. onResume():当Activity完全可见并处于活动状态时调用,此时用户可以与其交互。 4. onPause():当Activity即将被另一个Activity覆盖,但仍部分可见时调用,用于保存临时数据和停止正在进行的操作。 5. onStop():当Activity完全不可见时调用,资源可能被释放。 6. onDestroy():当Activity将被销毁时调用,是清理资源和执行清理操作的最佳时机。 在Activity之间切换时,这些方法会被按照特定顺序调用。例如,当从Activity1跳转到Activity2并调用finish()时,Activity1会经历onPause() -> onStop() -> onDestroy()的流程。而当从Activity2返回Activity1时,Activity1会经历onRestart() -> onStart() -> onResume()的恢复过程。 Intent是Android中的一种消息传递机制,它可以用来启动或打开其他组件,如Activity、Service或BroadcastReceiver。Intent分为两种类型: 1. 显式Intent:指定了要启动组件的具体类名,通常用于在同一应用内部启动Activity,确保组件安全、确定地启动。 2. 隐式Intent:不指定具体目标组件,而是通过动作(action)、数据(data)、类别(category)等元数据来描述意图,让系统或第三方应用根据这些信息来决定合适的组件来处理Intent。这种Intent常用于调用系统服务,如发送短信、拨打电话等,需要在AndroidManifest.xml中声明对应的intent-filter。 例如,要在两个Activity间通过Intent传递数据,可以使用putExtra()方法添加数据到Intent,然后在接收端使用getExtra()来获取。此外,Intent还能携带FLAG_ACTIVITY_NEW_TASK或FLAG_ACTIVITY_SINGLE_TOP等标志,以控制Activity的启动模式,如是否新建任务栈或复用已存在的Activity实例。 为了在应用中添加新的Activity,需要在AndroidManifest.xml文件的<application>标签下声明新的Activity,指定其类名,这样系统才能识别并允许启动。 在实际开发中,理解和熟练掌握Activity的生命周期以及Intent的使用至关重要,它们能够帮助开发者有效地管理应用的界面状态和组件间的通信,从而创建流畅、高效的用户体验。