Android Studio展示Activty生命周期

前言

        本文章以及之后文章的程序版本使用Android Studio 2022.3.1 Patch 1 版本编辑,使用语言为java,最低支持API 27 Android 8.1,构建工具版本如下:

 本文章主要是介绍Activty跳转和删除,以备后续使用,所以就不放apk文件了,源码如下:

源码文件下载

 源码其实就几个按钮,主要是看日志输出,源码免费下载,可以自己下载下来看看

这里就说几个小点,

创建新的Activty

首先是创建新的Activty,由于自己创建文件需要建立Activty的xml,对应的java文件,以及在AndroidManifest.xml中注册,所以一开始还是建议使用自动创建,位置如下:

点进去后和创建项目相似的操作, 

汉化插件

 中文是因为汉化插件,截至文章发布日2023年的Android Studio还不兼容,我用的是2022年版,汉化插件是这个:

Activity注册为对话框 

在AndroidManifest.xml中的注册部分加一句风格设定就行

<activity
    android:name=".About"
    android:exported="false"
    android:theme="@style/Base.Theme.AppCompat.Dialog"/>

 打开新的Activity

 MainActivity是当前Activity,Play是要打开的Activity

Intent intent = new Intent();
intent.setClass(MainActivity.this, Play.class);
startActivity(intent);

关闭当前 Activity

使用finish()可以关闭当前Activity

finish();

这里展示一下Play的java代码,布局随意放就行,其他几个类似,

package com.example.multipleactivity;

import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;

import androidx.appcompat.app.AppCompatActivity;

public class Play extends AppCompatActivity {
    private static final String TAG = "i道iPlay";
    Button Main, Back;
    private final View.OnClickListener onClickListener = new View.OnClickListener() {
        @Override
        public void onClick(View view) {//点击事件
            Button button = (Button) view;   //把点击获得的id信息传递给button
            try {
                if(button.getId() == R.id.button_goto_Main){
                    Intent intent = new Intent();
                    intent.setClass(Play.this, MainActivity.class);
                    startActivity(intent);
                } else if(button.getId() == R.id.button_goto_Back){
                    finish();
                }else {
                    Log.e(TAG, "未知按钮组件调用");
                }
            } catch (Exception e) {
                Log.e(TAG, "main,error");
            }
        }
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_play);
        Main = findViewById(R.id.button_goto_Main);
        Back = findViewById(R.id.button_goto_Back);
        Main.setOnClickListener(onClickListener);
        Back.setOnClickListener(onClickListener);
        Log.e(TAG,"onCreate 创建 初始化");
    }
    @Override
    protected void onStart() {
        super.onStart();
        Log.e(TAG,"onStart 显示 不能交互");
    }

    @Override
    protected void onResume() {
        super.onResume();
        Log.e(TAG,"onResume 可交互");
    }

    @Override
    protected void onRestart() {
        super.onRestart();
        Log.e(TAG,"onRestart 重新启动");
    }
    @Override
    protected void onPause() {
        super.onPause();
        Log.e(TAG,"onPause 暂停(可见,不可操作)");
    }
    @Override
    protected void onStop() {
        super.onStop();
        Log.e(TAG,"onStop 停止(不可见)");
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        Log.e(TAG,"onDestroy  销毁");
    }

    @Override
    protected void onRestoreInstanceState(Bundle savedInstanceState) {
        super.onRestoreInstanceState(savedInstanceState);
        Log.e(TAG,"onRestoreInstanceState 获取保存数据");
    }

    @Override
    protected void onSaveInstanceState(Bundle savedInstanceState) {
        super.onSaveInstanceState(savedInstanceState);
        Log.e(TAG,"onSaveInstanceState 销毁时保存数据");
    }

}
<!--使用返回按钮和去往主页面按钮,以及手机的返回。观察日志输出,ps:去往主界面后再按一下返回看看-->

Activity生命周期

 给你们看看日志,其实挺多细节自己上手试试才能知道

Activity生命周期展示

猜你喜欢

转载自blog.csdn.net/weixin_58196051/article/details/133766828