Android组件通信(二十四)

1. Activity生命周期

1.1 知识点

(1)掌握Activity的生命周期及操作方法;

1.2 具体内容

范例:

第一个配置文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".ActivityLifeActivity" ><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="这是第一个Activity" /><Button android:id="@+id/but_first"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="跳转到第二个Activity"/></LinearLayout>

第二个配置文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".ActivityLifeActivity" ><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="这是第二个Activity" /><Button android:id="@+id/but_second"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="跳转到第三个Activity"/></LinearLayout>

第三个配置文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".ActivityLifeActivity" ><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="这是第二个Activity" /></LinearLayout>

第一个Activity

package com.example.activitylifeproject;import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;public class ActivityLifeActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_activity_life_first);Log.i("sign","第一个Activity的onCreate方法");Button but = (Button) super.findViewById(R.id.but_first);but.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Intent it = new Intent(ActivityLifeActivity.this,ActivityLifeSecondActivity.class);startActivity(it);}});}@Overrideprotected void onStart(){Log.i("sign","第一个Activity的onStart方法");super.onStart();}@Overrideprotected void onResume(){Log.i("sign","第一个Activity的onResume方法");super.onResume();}@Overrideprotected void onPause(){Log.i("sign","第一个Activity的onPause方法");super.onPause();}@Overrideprotected void onStop(){Log.i("sign","第一个Activity的onStop方法");super.onStop();}@Overrideprotected void onDestroy(){Log.i("sign","第一个Activity的onDestroy方法");super.onDestroy();}@Overrideprotected void onRestart(){Log.i("sign","第一个Activity的onRestart方法");super.onRestart();}
}

第二个Activity

package com.example.activitylifeproject;import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;public class ActivityLifeSecondActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_activity_life_second);Log.i("sign","第二个Activity的onCreate方法");Button but = (Button) super.findViewById(R.id.but_second);but.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Intent it = new Intent(ActivityLifeSecondActivity.this,ActivityLifeThirdActivity.class);startActivity(it);}});}@Overrideprotected void onStart(){Log.i("sign","第二个Activity的onStart方法");super.onStart();}@Overrideprotected void onResume(){Log.i("sign","第二个Activity的onResume方法");super.onResume();}@Overrideprotected void onPause(){Log.i("sign","第二个Activity的onPause方法");super.onPause();}@Overrideprotected void onStop(){Log.i("sign","第二个Activity的onStop方法");super.onStop();}@Overrideprotected void onDestroy(){Log.i("sign","第二个Activity的onDestroy方法");super.onDestroy();}@Overrideprotected void onRestart(){Log.i("sign","第二个Activity的onRestart方法");super.onRestart();}
}

第三个Activity

package com.example.activitylifeproject;import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;public class ActivityLifeThirdActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_activity_life_third);}@Overrideprotected void onStart(){Log.i("sign","第三个Activity的onStart方法");super.onStart();}@Overrideprotected void onResume(){Log.i("sign","第三个Activity的onResume方法");super.onResume();}@Overrideprotected void onPause(){Log.i("sign","第三个Activity的onPause方法");super.onPause();}@Overrideprotected void onStop(){Log.i("sign","第三个Activity的onStop方法");super.onStop();}@Overrideprotected void onDestroy(){Log.i("sign","第三个Activity的onDestroy方法");super.onDestroy();}@Overrideprotected void onRestart(){Log.i("sign","第三个Activity的onRestart方法");super.onRestart();}}

1.3 小结

(1)Activity提供了专门的生命周期方法;

(2)在多个Activity打开的时候,会自动的进行入栈操作;

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第18篇ESP32platformio-arduino框架-ili9488-3.5lcd显示时间天气

第18篇ESP32platformio-arduino框架-ili9488-lcd显示时间天气 第18篇esp32ili9488lcd显示时间天气 连接方法&#xff1a; 修改WIFI&#xff1a; 关键代码 void setup() {Serial.begin(115200);WiFi.mode(WIFI_STA);WiFi.begin(ssid,password);Serial.print("\r\nConnect…

微信小程序通过 movable-area 做一个与vuedraggable相似的上下拖动排序控件

因为只是做个小案例 我就直接代码写page页面里了 其实很简单 组件稍微改一下就好了 wxss /* 设置movable-area的宽度 */ .area{width: 100%; }/* a b c 每条元素的样式 */ movable-view {width: 100%;background-color: red;height: 40px;line-height: 40px;color: #FFFFFF;tex…

电子电路学习笔记——LDO稳压器 NCP114ASN330T1G的应用

关于LDO稳压器&#xff08;Low-Dropout Regulator&#xff09;&#xff1f; 是一种用于电源管理的集成电路&#xff0c;常用于将高电压转换为较低且稳定的工作电压。LDO稳压器可以在输入电压几乎等于输出电压的情况下工作&#xff0c;因此它们具有较低的压降&#xff08;dropo…

深度学习笔记之优化算法(八)Adam算法的简单认识

深度学习笔记之优化算法——Adam算法的简单认识 引言回顾&#xff1a;基于Nesterov动量的RMSProp算法Adam算法的简单认识一阶矩、二阶矩修正偏差的功能Adam的算法过程描述Adam示例代码 引言 上一节介绍了基于 Nesterov \text{Nesterov} Nesterov动量与 RMSProp \text{RMSProp}…

【广州华锐互动】AR轨道交通综合教学平台的应用

轨道交通是一种复杂且精密的系统&#xff0c;涵盖了众多技术和工程学科&#xff0c;包括机械、电气和计算机科学等。对于学生来说&#xff0c;理解和掌握这些知识是一项挑战。然而&#xff0c;AR技术的出现为解决这一问题提供了可能。 通过AR技术&#xff0c;教师可以创建生动、…

PyTorch 入门

一、说明 深度学习是机器学习的一个分支&#xff0c;其中编写的算法模仿人脑的功能。深度学习中最常用的库是 Tensorflow 和 PyTorch。由于有各种可用的深度学习框架&#xff0c;人们可能想知道何时使用 PyTorch。以下是人们更喜欢使用 Pytorch 来完成特定任务的原因。 Pytorch…

安防监控视频汇聚平台EasyCVR视频广场搜索异常,报错“通道未开启”的问题排查与解决

安防视频监控系统EasyCVR视频汇聚平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等&#xff0c;能对外分发RTSP、RTMP、FLV、…

ansible学习

Ansible学习 1 ansible 原理与环境搭建1.1 Ansible对于企业运维的重大意义1.2 Ansible的安装1.3. 前期环境的配置1.4 清单介绍1.5 Ansible配置文件参数详解 2 ansible常见模块合集2.1 ansible实现管理的方式2.2 Ad-Hoc执行方式中如何获得帮助2.3. ansible命令运行方式及常用参数…

Jetson Orin NX 开发指南(6): VINS-Fusion-gpu 的编译和运行

一、前言 由于 Jetson 系列的开发板 CPU 性能不是很好&#xff0c;因此在处理图像数据时往往需要 GPU 加速&#xff0c;而 VINS-Fusion 是针对同步定位与建图&#xff08;SLAM&#xff09;问题中十分出色的视觉算法&#xff0c;但是其在图像处理过程中资源消耗较大&#xff0c…

【QT】Windows 编译并使用 QT 5.12.7源码

1、下载 QT 源码 QT5.12.7源码下载地址: download | QT 5.12.7 选择任意一种下载即可&#xff0c;适用于 Windows 和 Linux 环境 ​ 这里选择下载 .zip 文件。 2、安装依赖 (1) 安装 perl perl 安装包下载地址: download | perl for windows 根据当前系统选择对应版本。…

NEFU离散数学实验1-排列组合

相关概念 在离散数学中&#xff0c;组合数是一种用于计算从n个不同元素中选取m个元素的方式。以下是一些与组合数相关的概念&#xff1a; 排列&#xff1a;从n个不同元素中选取m个元素进行排列&#xff0c;排列数用P(n, m)表示&#xff0c;计算公式为P(n, m) n! / (n - m)! …

uniapp 显示icon异常

按照文档创建的uni-ui项目&#xff0c;仿照示例程序写的代码中icon显示异常 &#xe470; 异常情况&#xff1a; 正常情况&#xff1a; 通过比对代码发现&#xff0c;示例程序的App.vue中 有一个引用是问题的关键 正是因为多了这一个引用文件&#xff0c;图表的显示才能正常 …