java activity 详解
时间: 2023-11-18 07:43:51 浏览: 135
Activity简介-Activity android
在 Java 中,Activity 是 Android 应用程序的核心组件之一。它代表了用户与应用程序交互的一个屏幕,类似于 Windows 中的窗口。Activity 提供了一个用户界面,用于显示应用程序的内容,并处理用户输入。在本文中,我们将详细介绍 Java 中的 Activity。
1. Activity 的生命周期
Activity 的生命周期是指从创建到销毁的整个过程。Activity 的生命周期可以分为以下几个部分:
1.1. 创建阶段
在创建阶段,Activity 将完成以下几个步骤:
1.1.1. onCreate():当 Activity 被创建时,系统会调用 onCreate() 方法。在此方法中,开发者可以初始化 Activity 的布局、绑定事件等。
1.1.2. onStart():当 Activity 准备好与用户进行交互时,系统会调用 onStart() 方法。在此方法中,开发者可以完成一些初始化工作,例如开始动画。
1.1.3. onResume():当 Activity 成为用户焦点并可以与用户进行交互时,系统会调用 onResume() 方法。在此方法中,开发者可以开始处理用户输入事件。
1.2. 运行阶段
在运行阶段,Activity 将完成以下几个步骤:
1.2.1. onPause():当 Activity 失去焦点并不再与用户进行交互时,系统会调用 onPause() 方法。在此方法中,开发者可以停止处理用户输入事件。
1.2.2. onStop():当 Activity 不再可见时,系统会调用 onStop() 方法。在此方法中,开发者可以完成一些清理工作,例如停止动画。
1.3. 销毁阶段
在销毁阶段,Activity 将完成以下几个步骤:
1.3.1. onDestroy():当 Activity 被销毁时,系统会调用 onDestroy() 方法。在此方法中,开发者可以完成一些清理工作,例如释放资源。
2. Activity 的启动方式
在 Java 中,可以通过以下方式启动一个 Activity:
2.1. 显式启动
显式启动是指通过明确指定要启动的 Activity 的类名来启动 Activity。例如:
```java
Intent intent = new Intent(this, AnotherActivity.class);
startActivity(intent);
```
2.2. 隐式启动
隐式启动是指通过指定 Action、Category、Data 等信息来启动 Activity,系统将根据这些信息匹配合适的 Activity。例如:
```java
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.example.com"));
startActivity(intent);
```
3. Activity 的传值
在 Java 中,可以通过 Intent 对象来传递数据到另一个 Activity。具体步骤如下:
3.1. 在发送 Intent 时,通过 putExtra() 方法来添加数据:
```java
Intent intent = new Intent(this, AnotherActivity.class);
intent.putExtra("name", "张三");
intent.putExtra("age", 18);
startActivity(intent);
```
3.2. 在接收 Intent 时,通过 getIntent() 方法获取 Intent 对象,并通过 getXXXExtra() 方法获取数据:
```java
Intent intent = getIntent();
String name = intent.getStringExtra("name");
int age = intent.getIntExtra("age", 0);
```
4. Activity 的返回值
在 Java 中,可以通过 startActivityForResult() 方法启动一个 Activity,并在该 Activity 中设置 setResult() 方法来返回数据。具体步骤如下:
4.1. 在发送 Intent 时,通过 startActivityForResult() 方法启动另一个 Activity:
```java
Intent intent = new Intent(this, AnotherActivity.class);
startActivityForResult(intent, REQUEST_CODE);
```
4.2. 在接收 Intent 时,通过 onActivityResult() 方法获取返回的数据:
```java
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
String result = data.getStringExtra("result");
}
}
```
4.3. 在被返回的 Activity 中,通过 setResult() 方法设置返回的数据:
```java
Intent intent = new Intent();
intent.putExtra("result", "返回数据");
setResult(RESULT_OK, intent);
finish();
```
以上就是 Java 中 Activity 的详解,希望对你有所帮助。
阅读全文