前言
本文章以及之后文章的程序版本使用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生命周期展示