深入理解Android Activity与Intent机制
需积分: 9 122 浏览量
更新于2024-07-29
收藏 1.15MB DOC 举报
"Android_学习笔记"
在Android应用开发中,Activity和Intent是两个核心概念,它们构成了Android应用程序的基础架构和组件通信方式。
首先,我们来深入理解Activity。Activity是Android应用的基本单元,它是一个可视化的用户界面,用户可以通过它与应用进行交互。每个Activity都有一个独立的生命周期,这个生命周期由系统管理,包括了以下关键阶段:
1. onCreate(Bundle savedInstanceState):当Activity首次创建时调用,用于初始化界面和数据。savedInstanceState参数可以在设备旋转等配置改变时用来恢复Activity的状态。
2. onStart():Activity变得可见但不一定是焦点时调用,用户可以看见Activity,但可能被其他Activity遮挡。
3. onRestart():当Activity从停止状态重新变为可见状态时调用,通常在onStop()之后调用。
4. onResume():Activity获得焦点并且用户可以与之交互时调用,Activity完全可见。
5. onPause():Activity失去焦点但仍然部分可见时调用,如弹出对话框或另一个Activity启动。
6. onStop():Activity完全不可见时调用,用户无法看到Activity。
7. onDestroy():Activity即将被销毁时调用,可能是系统需要回收资源或用户手动结束应用。
在Manifest文件中,每个Activity都需要声明,设置其属性和intent-filter,以便系统能够正确地管理和启动这些Activity。
接下来,我们探讨Intent。Intent是Android中的一个关键概念,它用于启动Activity或Service,以及在它们之间传递数据。Intent主要包含三部分:
1. Action:描述要执行的操作,例如ACTION_VIEW,ACTION_CALL等。
2. Data:操作的数据,可以是URL、URI或者其他数据格式。
3. Categories:对Action的补充,用于更精确地匹配目标组件。
Intent的使用主要有两种形式:
1. 显式Intent:指定要启动的特定Activity或Service,通过类名明确指定目标。
2. 隐式Intent:只指定操作和数据,不指定具体组件,系统会根据intent-filter找到最适合处理该Intent的组件。
通过Context.startActivity()或Activity.startActivityForResult()可以启动一个新的Activity,而Context.startService()则用于启动一个服务。在Intent中添加额外数据,可以使用putExtra()方法,然后在接收端通过getExtras()获取。
Intent不仅仅用于应用程序间交互,也可以在同一个应用内的不同Activity或Service之间传递信息,增强了组件之间的解耦性,使得代码更加灵活和可复用。
总结来说,掌握Activity的生命周期管理和Intent的使用是Android开发的基本功。通过理解这两个核心概念,开发者可以有效地构建和控制应用程序的行为,实现组件之间的顺畅通信。
2021-06-02 上传
2022-09-20 上传
2014-01-23 上传
2011-06-02 上传
2021-05-11 上传
2021-05-03 上传
2014-06-08 上传
2021-06-04 上传
2022-09-24 上传
iyaochao
- 粉丝: 3
- 资源: 35
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜