一、活动概括
活动专注于用户可以做的东西,基本所有活动都会和用户交互,所以活动负责创建可以摆放界面的窗口。
二、活动生命周期
1.完整生命周期:在onCreate( Bundle)和onDestroy()之间经历的就是一个活动的完整生命周期,活动应该在onCreate(Bundle)中初始化相关变量,在onDestroy()中释放剩下的资源。比如有一个线程在后台进行下载,一般在onCreateBundle)中创造启动线程,在onDestroy()中停止线程。
2.可见生存期
活动在 onStart()方法和 onStop()方法之间所经历的,就是可见生存期。在可见生存期内,活动对于用户总是可见的,即便有可能无法和用户进行交互。我们可以通过这两个方法,合理地管理那些对用户可见的资源。比如在 onStart()方法中对资源进行加载,而在 onStop()方法中对资源进行释放,从而保证处于停止状态的活动不会占用过多内存。
3.前台生存期
活动在 onResume()方法和 onPause()方法之间所经历的,就是前台生存期。在前台生存期内,活动总是处于运行状态的,此时的活动是可以和用户进行相互的,我们平时看到和接触最多的也这个状态下的活动。
三、Activity使用
所以活动都应该重写onCreate()方法,进行加载布局、初始化。活动必须在AndroidManifest.xml中注册才能生效。
1.启动活动
使用Activity类提供的startActivity(Intent)方法 启动一个活动,如果想向下个活动传递数据,Intent中提供了一系列putExtra()方法的重载,可
以把我们想要传递的数据暂存在 Intent 中,启动了另一个活动后,只需要把这些数据再从Intent中取出就可以。
如果启动一个活动后想从这个活动中活动返回结果,这时就需要利用startActivityForResult(Intent intent,int ResultCode)来启动活动了,这个方法启动活动是期待在活动销毁时返回一个结果给上一个活动。在活动销毁前调用setResult(int resultCode,Intent intent)来设置返回数据。在利用startActivityForResult()启动的活动在销毁之后会回调上一个活动的onActivityResult(int requestCode, int resultCode, Intent data),所以一个在一个活动重写这个方法来活动返回的数据。
2.在Activity中使用Menu
重写onCreateOptionMenu(Menu)方法,加载菜单布局,return true使能,Menu布局必须放在menu文件夹下面
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
3.保存Activity的临时数据
4.Activity的启动模式