本讲主要介绍了Android四大组件之首的Activity。
主要知识点:
Activity的概念: Activity就是一个有界面的AndroidApp。 Acitivity 的四种状态: Running、 Paused、 Stopped 和Killed. Acitivity的三个生命周期:前台生命周期、可见生命周期和完整生命周期。 Activity 的属性 Activity 的创建、启动和关闭 多Activity技术:使用Bundle传递数据、调用另-一个Activity并返回结果等。 2. Activity生命周期**完整生命周期:**完整生命周期始于onCreate方法回调,止于onDestroy方法回调
**可见周期:**可见周期始于onStart方法回调,止于onStop方法回调
**前台周期:**前台周期始于onResume方法回调,止于onPause方法回调
下面简单介绍一下各个生命周期方法:
onCreate 生命周期的第一个方法,表示Activity正在创建(启动)。特别说明:若您在该方法内调用finish方法,则会立即出发onDestroy回调,其他生命周期不会执行
onRestart 该方法触发的前提:onStop方法被调用。onStop方法被调用而导致的Activity不可见到Activity再次可见时被调用。该方法回调之后系统会相继触发onStart和onResume方法。
onStart Activity可见时调用(此时Activity尚未处于前台):在onCreate方法之后或由onStop方法被调用而导致的Activity不可见到Activity再次可见时被调用
onResume 该方法的回调标识Activity处于前台。官方文档指明,这里比较适合动画启动及排他性设备访问(如相机)等
onPause Activity即将进入后台时回调此方法。需要特别注意的是,若Activity A启动Activity B,则Activity A的onPause方法回调完成后,Activity B才会创建,因此不要在该回调方法中做耗时操作。
onStop Activity由可见到不可见时回调此方法
onDestroy 生命周期的最后一个方法,表示Activity即将被销毁。官方文档指明,在某些情况下,系统会简单粗暴的杀掉Activity的宿主进程,因此我们不应该依赖此方法做数据存储工作,可在此方法中做资源释放操作
5. 启动和关闭Activity
启动 public void startActivity(Intent intent)
Intent intent = new Intent(MainActivity.this,DetailActivity.class);
startActivity(intent);
关闭 public void finish()
6. Activity 传递数据intent方法
//发送
Intent intent = new Intent(MainActivity.this,DetailActivity.class);
Bundle bundle = new Bundle();
bundle.putCharSequence("user",user);
intent.putExtras(bundle); //bundle对象添加到Intent对象
startActivity(intent);
//获取
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
bundle.getString("user");
7. Activity 返回数据
startActivityForResult(intent,CODE); //第二个是 结果码参数 requestCode
setResult(code,intent); //设置返回的结果码 resultCode
finish();
重写
protected void onActivityResult(int requestCode,int resultCode,Intent data){
}
8. 题目记录
关于Acitvity下列说法正确的是: B
A.有可视化的用户界面0.00 B.可运行的程序 C.每个应用程序中只能有一个Activity D.是Android中唯一的重要组件下列说法正确的是 A
A.Activity在创建时生成各种控件视图1.00/1.00 B.Activity随时生成各种视图 C.Activity在运行时生成各种视图 D.Activity在创建之前生成各种视图下列哪个不是Activity的显示模式 A
A.无显示界面 B.浮动窗口式000 C.全屏模式 D.嵌入模式000Paused状态是指 A
A.被另一个透明Activity覆盖1.00/1.00 B.Activity与窗口管理器断开 C.系统不在维护Activity内部状态 D.仍可和用户交互对于onPause()方法下列说法正确的是 A
A.用来暂停Activity1.00/1.00 B.用来停止Activty C.用来重构Activity D.用来销毁Activity对于onStop()方法下列说法正确的是 D
A.用来销毁Activity B.用来暂停Activity C.用来重构Activity D.用来停止Activty可视生命周期是指 BC
A.用户不能在屏幕上看到Activity B.onStart()至onStop()1.00/2.00 C.保留了用来向用户显示Activity资源1.00/2.00 D.一直在与用户交互完整生命周期是指 ABCD
A.在onCreate()中设置所有“全局”状态完成初始化0.50/2.00 B.本生命周期包含了可视生命周期0.50/2.00 C.onCreate()至onDestroy()0.50/2.00 D.在onDestroy()中释放所有资源0.50/2.00killed状态是指 B
A.被重新启动前的状态 B.被移出Activity栈1.00/1.00 C.可以重新唤醒而无需重新启动的状态 D.程序被卸载的状态对于onStart()方法下列说法正确的是 A
A.用来启动Activity1.00/1.00 B.用来重启Activity C.用来恢复Activity D.用来创建Activity对于onDestroy()方法说法正确的是 C
A.用来重构Activity B.用来暂停Activity C.用来销毁Activity1.00/1.00 D.用来停止Activty下列哪些是Activity的生命周期 ACD
A.前台生命周期 B.后台生命周期 C.完整生命周期 D.可视生命周期前台生命周期是指 ABD
A.Activity位于前台最上面 B.onResume()至onPause() C.这个周期不能接收新的intent D.与用户进行交互 E.不能进行暂停和恢复之间的切换Stopped状态是指 A
A.Activity不可见1.00/1.00 B.Activity内的当前状态和成员信息会被安全保存 C.Activity仍会一直安全地保留在栈中 D.Activity被关闭对于onCreate方法下列说法正确的是 D
A.用来恢复Activity B.用来启动Activity C.用来重启Activity D.用来创建Activity 关于生命周期详见前面 2.Activity生命周期作者:江山点墨