Android中的Activity相关知识总结

时间:2024-11-03 23:36:44

一、什么是Activity?

  简单理解:Activity是Android组件中最基本也是最为常见用的四大组件之一。是一个与用户交互的系统模块,一个Activity通常就是一个单独的屏幕(页面),

它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。
  当程序第一次运行时用户就会看到一个窗体,这个窗体就是一个Activity,这个Activity可以通过启动其他的Activity进行相关操作。当启动其他的Activity时这个当前的这个Activity将会停止,新的Activity将会压入栈中,同时获取用户焦点,这时就可在这个Activity上操作了。都知道是先进后出的原则,那么当用户按Back(返回)键时,当前的这个Activity销毁,前一个Activity重新恢复。

二、Activity生命周期图解

Android中的Activity相关知识总结

三、代码测试生命周期执行过程

1.新建Android项目(myCH01)

  ㈠整个项目结构图如下:

Android中的Activity相关知识总结

  ㈡MainActivity.java测试代码

 package com.example.mych02;

 import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View; public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.i("--MainActivity--", "----------onCreate---------");
} //打开一个新窗体
public void openNew(View view){
Intent intent=new Intent(this,FirstActivity.class);
startActivity(intent); } //从stop转为激活状态时执行
@Override
protected void onRestart() {
super.onRestart();
Log.i("--MainActivity--", "----------onRestart---------");
} //Activity开始加载事件时执行【新创建或者重新启动时执行】
@Override
protected void onStart() {
super.onStart();
Log.i("--MainActivity--", "----------onStart---------");
} //Action恢复到激活状态时,执行【任何一次进入激活状态都执行】
@Override
protected void onResume() {
super.onResume();
Log.i("--MainActivity--", "----------onResume---------");
} @Override
protected void onPause() {
super.onPause();
Log.i("--MainActivity--", "----------onPause---------");
} @Override
protected void onStop() {
super.onStop();
Log.i("--MainActivity--", "----------onStop---------");
} @Override
protected void onDestroy() {
super.onDestroy();
Log.i("--MainActivity--", "----------onDestroy---------");
}
}

  ㈢activity_main.xml测试代码

 <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"
> <Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="打开一个新窗体"
android:onClick="openNew"
/> </LinearLayout>