前言
本文章以及之后文章的程序版本使用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中的注册部分加一句风格设定就行
<activityandroid: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() {@Overridepublic void onClick(View view) {//点击事件Button button = (Button) view; //把点击获得的id信息传递给buttontry {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");}}};@Overrideprotected 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 创建 初始化");}@Overrideprotected void onStart() {super.onStart();Log.e(TAG,"onStart 显示 不能交互");}@Overrideprotected void onResume() {super.onResume();Log.e(TAG,"onResume 可交互");}@Overrideprotected void onRestart() {super.onRestart();Log.e(TAG,"onRestart 重新启动");}@Overrideprotected void onPause() {super.onPause();Log.e(TAG,"onPause 暂停(可见,不可操作)");}@Overrideprotected void onStop() {super.onStop();Log.e(TAG,"onStop 停止(不可见)");}@Overrideprotected void onDestroy() {super.onDestroy();Log.e(TAG,"onDestroy 销毁");}@Overrideprotected void onRestoreInstanceState(Bundle savedInstanceState) {super.onRestoreInstanceState(savedInstanceState);Log.e(TAG,"onRestoreInstanceState 获取保存数据");}@Overrideprotected void onSaveInstanceState(Bundle savedInstanceState) {super.onSaveInstanceState(savedInstanceState);Log.e(TAG,"onSaveInstanceState 销毁时保存数据");}}
<!--使用返回按钮和去往主页面按钮,以及手机的返回。观察日志输出,ps:去往主界面后再按一下返回看看-->
Activity生命周期
给你们看看日志,其实挺多细节自己上手试试才能知道
Activity生命周期展示