Android四大组件之Activity
Android四大组件之Activity
Android的四大组件分别为:Activity、Service、BroadcastReceiver、ContentProvider。Activity是Android应用最常见的组件之一,不同的Activity向用户呈现不同的操作界面。Android应用的多个Activity组成Activity栈,当前活动的Activity位于栈顶。Activity主要负责与用户交互并向用户呈现应用状态。当Activity处于Android应用中运行时,同样受系统的控制,有其自身的生命周期,接下来就写一些我对Activity的了解。
1.配置Activity
在AndroidManifest。Xml文件中配置。只要为<application.../>元素添加<activity.../>子元素即可配置Activity。
2.启动、关闭Activity
(1)Activity启动其他Activity有如下两种方法:
A.startActivity(Intent intent):启动其他Activity;
B.StartActivityForResult(Intent intent,int requestCode):以指定的请求码(requestCode)启动Activity,而且程序将会获取新启动的Activity返回结果(通过重写onActivityResult(...)方法来获取)。
注:Intent是Android应用里各组件之间通信的重要方式,一个Activity通过Intent来表达自己想要启动哪个组件,被启动的组件既可是Activity组件,也可是Service组件。
(2)Activity关闭的两种方法:
A.finish():结束当前Activity;
B.FinishActivity(int requestCode):结束以startActivityForResult(Intent intent,int requestCode)方法启动的Activity。
3.Activity的生命周期
随着不同应用的运行,每个Activity都有可能从活动状态转入非活动状态,也可能从非活动状态转入活动状态。
Activity大致会经过如下四种状态:
A.运行状态:当前Activity位于前台,用户可见,可以获得焦点;
B.暂停状态:其他Activity位于前台,该Activity依然可见,只是不能获得焦点;
C.停止状态:该Activity不可见,失去焦点;
D.销毁状态:该Activity结束,或Activity所在的进程被结束。
下图为Activity的生命周期及相关回调方法:

下边的例子可以让我们更加了解Activity生命周期的使用:
public class LifecycleActivity extends Activity {
private static final String TAG = "LifecycleActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.i(TAG, "onCreate");
}
@Override
protected void onRestart() {
super.onRestart();
Log.i(TAG, "onRestart");
}
@Override
protected void onStart() {
super.onStart();
Log.i(TAG, "onStart");
}
@Override
protected void onResume() {
super.onResume();
Log.i(TAG, "onResume");
}
@Override
protected void onPause() {
super.onPause();
Log.i(TAG, "onPause");
}
@Override
protected void onStop() {
super.onStop();
Log.i(TAG, "onStop");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.i(TAG, "onDestroy");
}
}
在该程序中:
【1】onCreate(Bundle savedInstanceState) :创建Activity时被回调,该方法只能被调用一次;
【2】 onRestart():重新启动Activity时调用;
【3】onStart() :启动Activity时调用;
【4】onResume() :恢复Activity时被调用,在onStart()方法后一定会回调onResume()方法;
【5】onPause() :暂停Activity时被调用;
【6】onStop() :停止Activity时被调用;
【7】onDestroy() :销毁Activity时被回调,该方法只会被调用一次。
浙公网安备 33010602011771号