📜  Android活动简介

📅  最后修改于: 2021-05-09 16:19:33             🧑  作者: Mango

Activity类是Android组件非常重要的部分之一。任何应用程序,无论它有多小(就代码和可伸缩性而言),都至少具有一个Activity类。与大多数编程语言不同,在大多数编程语言中, main()方法是该程序或应用程序开始执行的入口点,而android操作系统则通过调用与的特定阶段相对应的特定回调方法来在Activity实例中初始化代码。它的生命周期。因此可以说,活动是与用户进行交互的入口点。每个活动都包含布局,该布局具有用于与用户交互的用户界面。我们知道每个活动都包含与之关联的布局,因此可以说活动类是网关,用户可以通过该网关与UI进行编程交互。借助setContentView()设置特定活动的布局。的setContentView()是一个函数,它查看作为参数。 view参数基本上包含该活动的布局文件。下图显示activity_main是MainActivity的布局文件

在Java的情况下:

Java类

对于Kotlin:

科特林班

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

  1. onCreate()
  2. onPause()

1. onCreate()方法

  • onCreate(Bundle)方法是用户初始化活动的地方。活动开始时将调用此方法。这是用于初始化android应用中大多数事物的方法。 onCreate()方法将saveInstanceState作为参数,该参数是Bundle类型的对象,即包含先前保存的活动数据的Bundle Object。如果该活动是新创建的,则该捆绑包将不会保存该活动的任何数据,并且将包含空值。
  • onCreate()方法调用setContentView()方法来设置与活动相对应的视图。默认情况下,在任何android应用程序中,setContentView都指向activity_main.xml文件,该文件是与MainActivity相对应的布局文件。 onCreate方法使用findViewById()方法,以便用户可以通过编程方式与android中的小部件进行交互,然后根据需要自定义它们。

Bundle :如果活动在先前关闭后正在重新初始化或重新启动,则此Bundle将其最近提供的数据包含在onSaveInstanceState(Bundle)中。 onSaveInstanceState()方法是在我们的活动被终止之前用于保存数据的方法。

2. onPause()方法

当用户不再主动与活动交互但在屏幕上仍可见时,此方法称为活动生命周期的一部分。假设用户正在手机上同时运行两个应用程序,即当活动B在活动A之前启动时,活动A将进入onPause()状态,活动B将进入onStart()状态。活动生命周期。要记住的重要一点是,对于要由系统(即android)访问的任何活动,必须在清单文件中声明该活动。清单文件是应用程序中包含的XML文件,默认名为AndroidManifest.xml。

在清单文件中声明活动

打开app文件夹,然后打开子文件夹清单,然后打开AndroidManifest.xml文件。

清单文件

假设读者希望除了项目中默认包含的MainActivity之外还有一项活动。在添加更多活动而不进行任何更改之前,让我们看一下AndroidManifest.xml文件的外观:

现在,我们添加另一个名为SecondActivity的活动,并查看如何在清单文件中对其进行声明。必须在应用程序标记中编写声明代码,否则声明将给出错误,并且系统将不会检测SecondActitvity。声明代码如下。

因此可以得出结论,一个应用程序可以具有一个或多个活动,而没有任何限制。 android应用程序使用的每个活动都必须在AndroidManifest.xml文件中声明。并且应用的主要活动必须在清单中用声明,其中包括MAIN动作和LAUNCHER。任何活动(无论是MainActivity还是其他任何活动)都必须在AndroidManifest文件的中声明。如果用户忘记声明任何活动,则android将无法在应用程序中检测到该活动。如果未为主要活动声明MAIN操作或LAUNCHER类别,则该应用程序图标将不会出现在主屏幕的应用程序列表中。

向应用程序添加权限

应该记住,开发人员要在android应用程序中使用的任何服务,例如Internet服务,蓝牙服务,Google Maps,App Notification Service等,要使用此服务中的任何一项,开发人员都需要获得android的许可系统。所有这些许可或请求都必须在清单文件中声明。按照上面显示的步骤打开AndroidManifest.xml文件。假设用户需要添加Internet权限,该权限需要由应用访问。在清单标记中添加以下Internet权限

假设需要在应用程序中添加蓝牙权限,那么必须这样声明:

注意:从概念上讲,必须清除,尽管Activity类让MainActivity在顶部给出的代码片段中扩展了AppCompatActivity,但内部结构类似于下图所示。可以看出AppCompatActivity也扩展了Activity类。

AppCompatActivity也扩展了Activity类。

想要一个节奏更快,更具竞争性的环境来学习Android的基础知识吗?
单击此处,前往由我们的专家精心策划的指南,以使您立即做好行业准备!