一、什么是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>