- Activity负责Android应用的界面处理工作
- 用来显示用户界面,并处理用户交互
- 通常,一个界面对应一个Activity
- 每一个Android应用都需要有一个入口Activity,其名称可以由开发者自行定义,但需要在AndroidManifest.xml中配置(注册)
- 每个Activity都可以启动另一个或多个Activity,而每个被启动的Activity都可以向启动它的Activity返回一些信息
- 为了使用一个Activity,需要首先实现一个继承自Activity的子类,并重写父类中的一些方法。
- onCreate方法在Activity启动时自动调用的,我们可以把大多数的初始化工作放在这个方法中进行。并且,在onCreate()方法中,必须执行
super.onCreate(savedInstanceState);
否则这个Activity启动时会抛出一个异常superNotCalledExxeption
。 - startActivity方法:启动一个Activity的页面,
intent:意图
告知需要操作的意图
用法:
Intent intent = new Intent(当前页面.this,目标页面.class);
- android中定义的四大组件都需要在AndroidManifest.xml中进行注册
生命周期
Activity的生命周期方法都是成对出现的
onCreate——onDestory
onStart——onStop
onResumne——onPause
因为onResume——onPause方法会比其他的生命周期方法执行的更为频繁,所以一般在这两个方法中写的代码较少。
Activity的四种基本状态
1、运行态(Running):Activity处于屏幕最前端,用户可见且获得焦点
2、暂停态(Paused):Activity被置于后台,用户可见,但失去焦点
3、停止态(Stopped):Activity被新的Activity覆盖,用户不可见,且失去焦点
4、终止态(Destoryed):Activity被系统终止,资源被回收
public class MainActivity extends AppCompatActivity {
public static final String TAG = "MainActivity";
//创建Activity的实例对象的方法
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d(TAG, "onCreate");
setContentView(R.layout.activity_main);
}
//启动当前Activity实例的方法
@Override
protected void onStart(){
super.onStart();
Log.d(TAG, "onStart");
}
//如果该方法执行,页面的实例就和用户可以进行交互
@Override
protected void onResume(){
super.onResume();
Log.d(TAG, "onResume");
}
//如果该方法执行,页面就和用户不再交互,失去焦点,页面仍旧可见
@Override
protected void onPause(){
super.onPause();
Log.d(TAG, "onPause");
}
//页面就和用户完全不可见
@Override
protected void onStop(){
super.onStop();
Log.d(TAG, "onStop");
}
//销毁当前的Activity实例
@Override
protected void onDestroy(){
super.onDestroy();
Log.d(TAG, "onDestroy");
}
//将置于后台的应用程序的Activity重新显示在前台的时候被调用。一般会连续调用onStart——onResume
@Override
protected void onRestart(){
super.onRestart();
Log.d(TAG, "onRestart");
}
}
Activity的协调作用
- 两个Activity相互跳转的流程:
如果A页面点击跳转到B页面。首先A要失去焦点,执行onPause方法。然后B需要运行,依次执行onCreate-->onStart-->onResume方法运行到后台.
网友评论