[Android开发基础3] Activity的生命周期、创建与配置

news2024/12/23 16:48:59

文章目录

 生命周期

概念

 生命周期周期函数

创建Activity

方法一:编译器自动创建与配置

方法二:手动创建与配置


 生命周期

概念

生命周期,顾名思义,就是当前的程序单元Activity从启动到销毁之间一系列所经过的状态。

 

 

 生命周期周期函数

        就是在页面运行的不同阶段,程序会自动执行相应的生命周期函数,可以在不同的生命周期函数里面根据业务场景写业务逻辑代码。

package com.example.app01;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    //页面创建初始化时
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toast.makeText(this, "欢迎使用", Toast.LENGTH_SHORT).show();
    }
    //页面启动
    @Override
    protected void onStart() {
        super.onStart();
    }
    //页面切出去后返回被重新展示时
    @Override
    protected void onResume() {
        super.onResume();
    }
    //页面暂停
    @Override
    protected void onPause() {
        super.onPause();
    }
    //页面停止
    @Override
    protected void onStop() {
        super.onStop();
    }
    //页面重启
    @Override
    protected void onRestart() {
        super.onRestart();
    }
    //页面销毁
    @Override
    protected void onDestroy() {
        super.onDestroy();
    }
}

 注意:

  • 第一次运行程序时调用的生命周期方法为:onCreate()—>onStart()—>onResume()。

  • 退出程序时调用的生命周期方法为:onPause()—>onStop()—>onDestory()。


创建Activity

方法一:编译器自动创建与配置

        利用编译器自带的功能,右键com.example.app01即包名,然后选择New一个Activity,选择相应的模板,一般选择空白模板(Empty Activity),当然也可以根据需要选择不同的模板,然后填写相应的名称信息。大体步骤下图所示。

 

 点击finish即可完成Activity的创建,并且具有对应的页面布局文件,而且已经自动在清单文件中配置好了,非常方便!

方法二:手动创建与配置

Activity本质上就是一个Java类,所以我们直接右键包创建一个Java类,但是此时这个Activity不算真正意义上的Activity,因为它还没有对应的页面布局文件,故还需要在layout文件夹下创建一个与其对应的布局文件,最后一步要将创建的Activity在清单文件AndroidManifest.xml中进行配置才算完成Activity的创建了。

对比可见,还是方法一更加方便快捷,在开发中推荐第一种。第二种不再演示。

END.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/194930.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

怎么画室内导航地图,室内地图绘制工具

现在很多楼宇建的越来越大,停车场、商场、展览馆、博物馆、交通枢纽等大型室内场景规模巨大、环境复杂,人们置身其中,一不小心就走错方向,从而多走很多弯路,费时费力。室内导航一直是导航场景的一大难题,如…

【redis6】第十四章(Redis集群)

问题 容量不够,redis如何进行扩容? 并发写操作,redis如何分摊? 另外,主从模式,薪火相传模式,主机宕机,导致ip地址发生变化,应用程序中配置需要修改对应的主机地址、端…

什么是Go语言?

本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注! 作者|慕课网精英讲师 Codey 1. Go 语言的出身 Go(又称 golang)是 Google 开发的一种静态强类型、编译型、并发型,并具…

OpenMMLab AI实战课笔记-第1节课

1. 第一节课(课程链接) 1.1 计算机视觉任务 计算机视觉主要实现以下目标: 分类目标检测分割:语义分割、实例分割 (对像素进行精确分类, 像素粒度或细粒度)关键点检测 1.2 OpenMMLab框架 框架选择:PyTorchOpenMML…

多级缓存案例说明

多级缓存案例说明1.安装MySQL1.1.准备目录1.2.运行命令1.3.修改配置1.4.重启2.导入SQL3.创建Demo工程3.1.分页查询商品3.2.新增商品3.3.修改商品3.4.修改库存3.5.删除商品3.6.根据id查询商品3.7.根据id查询库存3.8.启动4.创建商品查询页面4.1.运行nginx服务4.2.反向代理为了演示…

CSS网格教程:网格布局模块/网格容器/网格项目

目录 CSS 网格布局模块 网格布局 浏览器支持 网格元素 实例 Display 属性 实例 实例 网格列(Grid Columns) 网格行(Grid Rows) 网格间隙(Grid Gaps) 实例 实例 实例 实例 网格行&#xff0…

java基础面试题1

目录 Java语言有哪些特点 Java都有那些开发平台? Jdk和Jre和JVM的区别【重要】 面向对象和面向过程的区别 什么是数据结构?Java的数据结构有哪些? 1.数组: 2.队列 Queue 3.链表 Linked List 4.栈Stack 5.树Tree 什么是…

13薪|初级测试工程师

"众推职聘”以交付结果为宗旨的全流程化招聘服务平台!今日招聘信息↓【工作内容】1、制定、编写软件测试方案与计划2、根据需求文档编写测试用例,组织测试用例评审3、按时完成软件测试工作任务,执行测试,跟踪缺陷状态&#x…

第十四章 集合(集合框架体系、List)

一、集合框架体系 (1)可以动态保存任意多个对象 (2)提供了一系列方便的操作对象的方法:add、remove、set、get等 集合框架体系: 二、Collection 1. Collection 接口常用方法 (1)add…

学习QCustomPlot【3】库结构

文章目录一、前言二、库结构三、图层3.1、坐标轴层一、前言 学习一个陌生的库,我们首先要明确它有什么用,可以结合库官方examples,学习怎么简单的用。 但是如果要对该库有一个全面的认识,还是需要了解它的开发思路和库结构。 例…

2、计算机视觉之图像分类算法基础(笔记)

什么是图像分类? 识别图像所表示内容的任务称为图像分类。我们可以对图像分类模型进行训练以识别各类图像。例如,您可以训练模型来识别表示三种不同类型动物的照片:兔子、仓鼠和狗。 下面几个神经网络重点关注准确率的问题 上图只是训练方式…

java—for结构

for循环语句1.1循环结构循环结构的组成:初始化语句条件判断语句循环体语句条件控制语句循环结构对应的语法:初始化语句条件判断语句循环体语句条件控制语句1.2for循环语句格式//格式 for (初始化语句;条件判断语句;条件控制语句){ 循环体语句; }执行流程…

记录每日LeetCode 环形链表II Java实现

题目描述: 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环&#xf…

06_PyTorch 模型训练[学习率与优化器基类]

当数据、模型和损失函数确定,任务的数学模型就已经确定,接着就要选择一个合适 的优化器(Optimizer)对该模型进行优化。 PyTorch 中所有的优化器(如:optim.Adadelta、optim.SGD、optim.RMSprop 等)均是 Optimizer 的子类,Optimizer…

STM32串口收发、串口中断、串口波特率的理解、普通IO模拟串口

STM32串口收发、串口中断一 、串口中断二、使用DMA三、串口波特率的理解开发环境:stm32cubuMax Keil5一 、串口中断 1.当收到消息的时候,立即进入控制程序,实现通过串口控制硬件; 2.在stm32cubeMax中配置串口 配置全局中断 2.在main函数中…

Django项目搭建_修改目录结构

1.安装环境 使用conda下载Django项目需要的依赖 pip install django2.2.6 -i https://pypi.douban.com/simple/pip install djangorestframework -i https://pypi.douban.com/simple/pip install PymySQL -i https://pypi.douban.com/simple/pip install Pillow -i https://p…

CSDN为什么会发展社区?看看官方怎么说

文章目录🌟 课前小差🌟 23年可兼收名利?🌟 博客之星🌟 红包活动🌟 相聚线下🌟 妙笔生花🌟 原力计划🌟 个人定位🌟 为什么要发展社区?&#x1f31f…

100种思维模型之决策树思维模型-004

选择决定了现状和未来,在生活中有很多选择的机会,但是真的选择对了吗?在该读书的年纪,却想着长大真好。在该工作奋斗的年纪,却后悔自己年轻时没好好读书,而悔恨。其实不是我们没有选择的权利,而…

2023年情人节浪漫表白神器(附源码下载)

2023年情人节将要来临,作为一名程序猿也不要落后了,快来用代码展示你的爱吧!下面给大家准备了6款情人节表白神器,把说不出口的话,放到代码里送给你爱的人吧!祝大家表白成功,俘获美人心&#xff…

Spring Boot集成 Swagger2 展现在线接口文档

一:swagger是什么? Swagger是一款RESTFUL接口的文档在线自动生成功能测试功能软件。Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。目标是使客户端和文件系统作为服务器以同样的速度来更新文件的方法,参数和模型紧…