Android Activity与Intent详解:启动、暂停、停止与销毁
需积分: 1 79 浏览量
更新于2024-09-08
收藏 260KB PPTX 举报
本文主要介绍了Android中的核心组件Activity和Intent,以及它们的相关概念和使用。
在Android操作系统中,Activity是用户界面的主要载体,它代表了应用程序中用户可见且可交互的单个屏幕。Activity有四种状态,分别是:
1. 活动状态或运行状态(Active/Running):当一个Activity启动后位于屏幕最前端,它处于栈顶,对用户可见且可交互。
2. 暂停状态(Paused):当Activity失去焦点,但并未完全被覆盖,例如被一个非全屏或透明的Activity取代时,它会进入暂停状态。此时Activity保持活力,但不再与用户交互,系统内存紧张时可能被终止。
3. 停止状态(Stopped):如果Activity被其他Activity完全覆盖,它会变为停止状态,虽然仍保留状态信息,但不可见,系统内存紧张时也可能被终止。
4. 杀死状态(Killed):在暂停或停止状态下,系统可能会删除Activity以回收内存,当Activity需要再次显示时,必须重新初始化。
创建Activity通常包括两个步骤:
1. 首先,创建一个继承自Activity的Java类,例如`NewActivity`,并在`onCreate()`方法中设置视图布局。
```java
public class NewActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 使用setContentView(R.layout.xxx)加载布局文件。
}
}
```
2. 接着,在`AndroidManifest.xml`文件中声明Activity,指定其类名和标签等属性,以便系统能识别并加载。
```xml
<activity android:name=".NewActivity" android:label="新activity的页面标题"/>
```
Intent是Android中用于启动Activity、Service或BroadcastReceiver的工具,它可以携带数据。Intent有两种类型:显式Intent(指定目标组件)和隐式Intent(基于IntentFilter匹配组件)。
使用Intent启动Activity的常见方式是通过`startActivity(Intent intent)`方法。例如:
```java
Intent intent = new Intent(this, NewActivity.class);
startActivity(intent);
```
IntentFilter则用于定义Activity或BroadcastReceiver可以响应的Intent类型,这使得其他组件可以通过隐式Intent找到并启动它们。
了解Activity和Intent的生命周期是至关重要的,因为它们决定了应用程序如何响应用户的操作和系统的资源管理。Activity的生命周期包括`onCreate()`, `onStart()`, `onResume()`, `onPause()`, `onStop()`, `onDestroy()`等方法,开发者需要在这些方法中适当地保存和恢复状态,以确保用户体验的连续性。
总结起来,Activity是Android应用的核心组件,承载用户界面,而Intent则是连接不同组件的桥梁,通过Intent可以启动Activity、传递数据。理解并熟练运用这两者是开发Android应用的基础。
2011-11-29 上传
204 浏览量
2023-05-30 上传
2021-05-09 上传
2021-01-03 上传
2012-06-24 上传
2012-04-11 上传
352 浏览量
2017-08-14 上传
Lemon林
- 粉丝: 1
- 资源: 1
最新资源
- 探索数据转换实验平台在设备装置中的应用
- 使用git-log-to-tikz.py将Git日志转换为TIKZ图形
- 小栗子源码2.9.3版本发布
- 使用Tinder-Hack-Client实现Tinder API交互
- Android Studio新模板:个性化Material Design导航抽屉
- React API分页模块:数据获取与页面管理
- C语言实现顺序表的动态分配方法
- 光催化分解水产氢固溶体催化剂制备技术揭秘
- VS2013环境下tinyxml库的32位与64位编译指南
- 网易云歌词情感分析系统实现与架构
- React应用展示GitHub用户详细信息及项目分析
- LayUI2.1.6帮助文档API功能详解
- 全栈开发实现的chatgpt应用可打包小程序/H5/App
- C++实现顺序表的动态内存分配技术
- Java制作水果格斗游戏:策略与随机性的结合
- 基于若依框架的后台管理系统开发实例解析