Android中的Activity相关知识总结

一、什么是Activity?

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

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

二、Activity生命周期图解

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

1.新建Android项目(myCH01)

  ㈠整个项目结构图如下:

  ㈡MainActivity.java测试代码

 1 package com.example.mych02;
 2 
 3 
 4 import android.app.Activity;
 5 import android.content.Intent;
 6 import android.os.Bundle;
 7 import android.util.Log;
 8 import android.view.View;
 9 
10 public class MainActivity extends Activity {
11 
12     @Override
13     protected void onCreate(Bundle savedInstanceState) {
14         super.onCreate(savedInstanceState);
15         setContentView(R.layout.activity_main);
16         Log.i("--MainActivity--", "----------onCreate---------");
17     }
18 
19     //打开一个新窗体
20     public void openNew(View view){
21         Intent intent=new Intent(this,FirstActivity.class);
22         startActivity(intent);
23         
24     }
25     
26     //从stop转为激活状态时执行
27     @Override
28     protected void onRestart() {
29         super.onRestart();
30         Log.i("--MainActivity--", "----------onRestart---------");
31     }
32 
33     //Activity开始加载事件时执行【新创建或者重新启动时执行】
34     @Override
35     protected void onStart() {
36         super.onStart();
37         Log.i("--MainActivity--", "----------onStart---------");
38     }
39 
40     //Action恢复到激活状态时,执行【任何一次进入激活状态都执行】
41     @Override
42     protected void onResume() {
43         super.onResume();
44         Log.i("--MainActivity--", "----------onResume---------");
45     }
46 
47     @Override
48     protected void onPause() {
49         super.onPause();
50         Log.i("--MainActivity--", "----------onPause---------");
51     }
52 
53     @Override
54     protected void onStop() {
55         super.onStop();
56         Log.i("--MainActivity--", "----------onStop---------");
57     }
58 
59     @Override
60     protected void onDestroy() {
61         super.onDestroy();
62         Log.i("--MainActivity--", "----------onDestroy---------");
63     }
64 }

  ㈢activity_main.xml测试代码

 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:orientation="vertical"
 6      >
 7 
 8     <Button 
 9         android:layout_width="match_parent"
10         android:layout_height="wrap_content"
11         android:text="打开一个新窗体"
12         android:onClick="openNew"
13         />
14 
15 </LinearLayout>

  

原文地址:https://www.cnblogs.com/js2ja/p/6086719.html