Android 中的 Activity 简介

Activity 类是 Android 组件中非常重要的一部分。任何应用程序,无论其规模多么小(在代码和可扩展性方面),都至少包含一个 Activity 类。与大多数编程语言不同,那些语言的 INLINECODEb48b0b0b 方法是程序或应用程序开始执行的入口点,而在 Android 操作系统中,系统通过调用特定的回调方法来启动 Activity 实例中的代码,这些回调方法对应于其生命周期的特定阶段。因此,可以说 Activity 是与用户进行交互的入口点。每个 Activity 都包含布局,而布局拥有用于与用户交互的用户界面。正如我们所知,每个 Activity 都关联着一个布局,因此可以说 Activity 类是网关,用户通过它可以以编程方式与 UI 进行交互。特定 Activity 的布局是借助 INLINECODE363b6dd9 来设置的。INLINECODEa512914f 是一个函数,它接收 INLINECODE06ececa9 作为参数。View 参数基本上包含该 Activity 的布局文件。以下代码同时提供了 Android 的 Java 和 Kotlin 编程语言版本。

#### 以下代码表明 activity_main 是 MainActivity 的布局文件:

Java

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

Kotlin

CODEBLOCK_97b0034e

虽然 Activity 通常以全屏窗口、多窗口模式或画中画模式呈现给用户,但几乎所有 Activity 的子类都会实现以下两种方法:

  • onCreate()
  • onPause()

1. onCreate() 方法

Kotlin 语法:

override fun onCreate(savedInstanceState: Bundle?)

Java 语法:

protected void onCreate(Bundle savedInstanceState)
  • INLINECODEcefc7c72 方法是用户初始化 Activity 的地方。当 Activity 正在启动时,会调用此方法。这是用于初始化 Android 应用程序中大多数内容的方法。INLINECODEb3e93948 方法接收 savedInstanceState 作为参数,这是一个 Bundle 类型的对象,即 Bundle 对象,其中包含该 Activity 之前保存的数据。如果 Activity 是新创建的,则 Bundle 不会保存 Activity 的任何数据,并且将包含 null 值。
  • INLINECODE1803d98b 方法调用 INLINECODE402b3692 方法来设置与 Activity 对应的视图。默认情况下,在任何 Android 应用程序中,setContentView 都指向 activitymain.xml 文件,这是对应于 MainActivity 的布局文件。onCreate 方法使用 INLINECODE463814a9 方法,以便用户可以通过编程方式与 Android 中的小部件进行交互,然后根据需要自定义它们。

Bundle(包):如果 Activity 在之前关闭后正在重新初始化或重启,那么此 Bundle 包含它最近在 INLINECODE3908a503 中提供的数据。INLINECODE18ba1ad9 方法是在我们的 Activity 被杀死之前调用的用于保存数据的方法。

2. onPause() 方法

Kotlin 语法:

override fun onPause() {
    super.onPause()
}

Java 语法:

protected void onPause() {
    super.onPause();
}

当用户不再主动与 Activity 交互,但它仍然在屏幕上可见时,会作为 Activity 生命周期的一部分调用此方法。让我们假设用户在手机上同时运行两个应用程序,即当 Activity B 在 Activity A 前面启动时,Activity A 将进入 INLINECODE8dc04363 状态,而 Activity B 将进入 Activity 生命周期的 INLINECODE4223b1fc 状态。需要记住的一个重要点是,对于系统(在这里即 Android)要访问的任何 Activity,必须在 Manifest 文件 中声明该 Activity。Manifest 文件是包含在应用程序中的 XML 文件,默认称为 [AndroidManifest.xml](https://www.geeksforgeeks.org/android/application-ma…

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/49698.html
点赞
0.00 平均评分 (0% 分数) - 0