当前位置:   article > 正文

Android第三课-----Activity_4.智能图书馆管理应用 训练目标 1. 掌握activity的创建和多activity间的交互:学习

4.智能图书馆管理应用 训练目标 1. 掌握activity的创建和多activity间的交互:学习

一、Activity概念

Activity是一种可以包含用户界面的组件,主要用于和用户进行交互。

一个应用程序中可以包含零个或多个Activity,但不包含任何Activity的应用程序很少见,谁也不想让自己的应用永远无法被用户看到吧?


二、Activity基本用法

2-1、创建Activity

右键app–>New–>Activity–>Empty Activity:
在这里插入图片描述
在这里插入图片描述

  • Activity Name:Activity名称;
  • Generate a Layout File:勾选上表示自动为此Activity创建一个对应的布局文件;
  • Layout Name:Activity对应的布局文件名称
  • Launcher Activity:勾选上表示会自动将此Activity设置为当前项目的主Activity;

在这里插入图片描述


2-2、Activity的onCreate()方法

在安卓开发中,项目中的任何Activity都应该重写onCreate()方法,,而目前FirstActivity中已经重写了这个方法,这是Android Studio自动帮我们完成的,代码如下所示:
在这里插入图片描述


2-3、创建和加载布局

创建布局
Android程序的设计讲究逻辑和视图分离,最好每一个Activity都能对应一个布局;

右键app/res/layout–>New–>Layout Resource File
在这里插入图片描述
加载布局
在Activity的onCreate()方法中添加如下代码就可以给该Activity加载一个布局:

setContentView(R.layout.activity_my)
  • 1

在这里插入图片描述


2-4、Activity注册

所有的Activity都要在AndroidManifest.xml中进行注册才能生效。

Activity的注册声明要放在<application>标签内,并通过<activity>标签来对Activity进行注册。

在这里插入图片描述

2-5、销毁Activity

通常情况下只要按一下手机的Back键就可以销毁当前的Activity了;

不过,如果你不想通过按键的方式,而是希望在程序中通过代码来销毁Activity,当然也可以。

Activity类提供了一个finish()方法,只需要调用一下这个方法就可以销毁当前的Activity了。

button1.setOnClickListener {
    finish()
}
  • 1
  • 2
  • 3

三、运行程序

启动安卓虚拟设备:点击工具栏的Device Manager:
在这里插入图片描述
点击Create device:
在这里插入图片描述
点击三角形,启动设备:
在这里插入图片描述
在这里插入图片描述

运行程序
在这里插入图片描述
在这里插入图片描述
当然也可以真机调试,用USB线将手机连接到电脑,电脑需要安装ADB驱动才行,然后再运行时选择真机设备即可;

或者将APK发送到手机,安装一下也行:
在这里插入图片描述
在这里插入图片描述
点击右侧底部弹出的提示框中的locate,即可弹出存放APK的文件夹;


四、Activity的生命周期

返回栈:Android是使用任务(task)来管理Activity的,一个任务就是一组存放在栈里的Activity的集合,这个栈也被称作返回栈(back stack)

栈是一种后进先出的数据结构,在默认情况下,每当我们启动了一个新的Activity,它就会在【返回栈】中入栈,并处于栈顶的位置。而每当我们按下Back键或调用finish()方法去销毁一个Activity时,处于栈顶的Activity就会出栈,前一个入栈的Activity就会重新处于栈顶的位置。

系统总是会显示处于栈顶的Activity给用户。

生命周期

  • onCreate():这个方法在Activity第一次被创建的时候调用;
  • onStart():这个方法在Activity由不可见变为可见的时候调用;
  • onResume():这个方法在Activity准备好喝用户进行交互的时候调用;
  • onPause():这个方法在系统准备去启动或者恢复另一个Activity的时候调用;
  • onStop():这个方法在Activity完全不可见的时候调用;
  • onDestroy():这个方法在Activity被销毁之前调用;
  • onRestart():这个方法在Activity由停止状态变为运行状态之前调用,也就是Activity被重新启动了;

在这里插入图片描述


五、Activity的启动模式

standard模式
standard是Activity默认的启动模式,在不进行显式指定的情况下,所有Activity都会自动使用这种启动模式;

在standard模式下,每当启动一个新的Activity,它就会在返回栈中入栈,并处于栈顶的位置;

对于使用standard模式的Activity,系统不会在乎这个Activity是否已经在返回栈中存在,每次启动都会创建一个该Activity的新实例;


singleTop模式
当Activity的启动模式指定为singleTop,在启动Activity时如果发现返回栈的栈顶已经是该Activity,则认为可以直接使用它,不会再创建新的Activity实例。


singleTask模式
Activity的启动模式指定为singleTask,每次启动该Activity时,系统首先会在返回栈中检查是否存在该Activity的实例,如果发现已经存在则直接使用该实例,并把在这个Activity之上的所有其他Activity统统出栈,如果没有发现就会创建一个新的Activity实例。


singleInstance模式
当Activity的启动模式指定为singleInstance,会启用一个新的返回栈来管理这个Activity。

假设我们的程序中有一个Activity是允许其他程序调用的,如果想实现其他程序和我们的程序可以共享这个Activity的实例,就可以使用singleInstance模式。

在这种模式下,会有一个单独的返回栈来管理这个Activity,不管是哪个应用程序来访问这个Activity,都共用的同一个返回栈,也就解决了共享Activity实例的问题。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/178024
推荐阅读
相关标签
  

闽ICP备14008679号