版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Android开发实战经典第9章:Android组件通信 Activity生命周期北京魔乐科技软件学院李兴华研发部本章目标掌握Activity的生命周期及操作方法;E-MAIL:Activity生命周期Activity是整个Android平台的基本组成,生命周期主要包含三个阶段:运行态(Running State): 此时Activity程序显示在屏幕前台,并且具有焦点,可以和用户的操作动作进行交互,例如:向用户提供信息、捕获用户单击按钮的理;暂停态(Paused State):并作处 此时Activity程序失去了焦点,并被其他处于运行态的Activity取代在屏幕
2、前台显示,如果切换后的Activity程序不能铺满整个屏幕窗口或者是本身具备透明效果,则该暂停态的Activity程序对用户仍然可以见,但是不可以与其进行交互;停止态(Stopped State): 停止态的Activity不仅没有焦点,而且是完全不可见,虽然其也保留状态和成员等信息,停止态的Activity会在系统需要的时候被结束;E-MAIL:Activity程序的生命周期控制方法E-MAIL:No.方法类型可关闭?描述1protected void onCreate(Bundle savedInstanceState)普通不可以当Act
3、ivity程序启动之后会首先调用此方法2protected void onRestart()普通不可以Activity程序停止后再次显示给用户时调用3protected void onStart()普通不可以当为用户第一次显示界面时调用此方法4protected void onResume()普通不可以当获得用户焦点的时候调用此方法5protected void onPause()普通可以当启动其他Activity程序时调用此方法, 用于进行数据的提交、动画处理等操作6protected void onStop()普通可以当一个Activity程序完全不可见时调用此方法,此时并不会销毁Acti
4、vity程序7protected void onDestroy()普通可以程序被销毁时调用,当调用finish()方法或系统资源不够使用时将调用此方法启动Activity程序执行流程销毁得焦点将占用的资源关闭Activity程序E-MAIL:onDestroy()进程运行态运行Activity程序重新获重新获得焦点运行其他Activity程序分配给其他程序onPause()暂停态onStop()停止态onResume()onRestart()onStart()onCreate()范例:定义FirstActivity的布局文件 first_main.xmlE-MAIL:
5、布局管理器的高度为屏幕高度组件高度为文字高度范例:定义FirstActivity程序,进行Intent的跳转操作(A)E-MAIL:package org.lxh.demo;import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public
6、 class FirstActivity extends Activity private Button but = null ; Overridepublic void onCreate(Bundle savedInstanceState) System.out.println(* A FirstActivity - onCreate() ; super.onCreate(savedInstanceState);setContentView(R.layout.first_main);/ 找到布局文件this.but = (Button) super.findViewById(R.id.myb
7、ut) ;/ 取得按钮组件this.but.setOnClickListener(new OnClickListener()/ 设置操作Overridepublic void onClick(View v) / 单击Intent it = new Intent(FirstActivity.this,SecondActivity.class) ; FirstActivity.this.startActivity(it) ;/ 启动其他程序) ;Overrideprotected void onStart() / 第一次创建界面时调用System.out.println(* A FirstActi
8、vity - onStart() ;super.onStart() ;/ 调用父类方法范例:定义FirstActivity程序,进行Intent的跳转操作(B)E-MAIL:Overrideprotected void onResume() / 获得焦点时触发System.out.println(* A FirstActivity - onResume(); super.onResume() ;/ 调用父类方法Overrideprotected void onPause() / 当启动其他Activity时触发System.out.println(* A FirstA
9、ctivity - onPause();super.onPause() ;/ 调用父类方法Overrideprotected void onStop() / 当Activity不可见时调用System.out.println(* A FristActivity - onStop(); super.onStop() ;/ 调用父类方法Overrideprotected void onRestart() / 当Activity重新运行的时候调用System.out.println(* A FirstActivity - onRestart(); super.onRestart() ;/ 调用父类方
10、法Overrideprotected void onDestroy() / 当Activity销毁的时候调用System.out.println(* A FirstActivity - onDestroy(); super.onDestroy() ;/ 调用父类方法范例:定义SecondActivity程序的布局文件 second_main.xmlE-MAIL:布局管理器的高度为屏幕高度 组件高度为文字高度范例:定义SencondActivity程序并覆写相应的生命周期控制方法(A)E-MAIL:package org.lxh.demo;im
11、port android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class SecondActivity extends Activity private Button but = null ; Overridepublic void onCreate(Bundle savedInstanc
12、eState) System.out.println(* B SecondActivity - onCreate() ; super.onCreate(savedInstanceState);setContentView(R.layout.second_main);/ 调用布局管理器this.but = (Button) super.findViewById(R.id.mybut) ;/ 取得按钮组件this.but.setOnClickListener(new OnClickListener()/ 设置单击Overridepublic void onClick(View v) / 单击操作I
13、ntent it = new Intent(SecondActivity.this,FirstActivity.class) ; SecondActivity.this.startActivity(it) ; / 启动其他程序SecondActivity.this.finish() ;/ 销毁操作) ;Overrideprotected void onStart() / 第一次创建界面时调用System.out.println(* B SecondActivity - onStart() ; super.onStart() ;/ 调用父类方法范例:定义SencondActivity程序并覆写相
14、应的生命周期控制方法(B)E-MAIL:Overrideprotected void onResume() / 获得焦点时触发System.out.println(* B SecondActivity - onResume(); super.onResume() ;/ 调用父类方法Overrideprotected void onPause() / 当启动其他Activity时触发System.out.println(* B SecondActivity - onPause(); super.onPause() ;/ 调用父类方法Overrideprotected v
15、oid onStop() / 当Activity不可见时调用System.out.println(* B SecondActivity - onStop(); super.onStop() ;/ 调用父类方法Overrideprotected void onRestart() / 当Activity重新运行的时候调用System.out.println(* B SecondActivity - onRestart(); super.onRestart() ;/ 调用父类方法Overrideprotected void onDestroy() / 当Activity销毁的时候调用System.out.println(* B SecondActivity - onDestroy(); super.onDestroy() ;/ 调用父类方法范例:修改AndroidMainfest.xml文件,配置两个Activity程序E-MAIL:程序名称定义运行模式程序名称范例:修改AndroidManifest.xml文件中SencondActivity程序的配置,将SecondActivit
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒店客房销售策略与市场拓展制度
- 2025年泰和县新睿人力资源服务有限公司面向社会公开招聘项目制工作人员的备考题库完整参考答案详解
- 2025年河南建筑职业技术学院招聘工作人员30人备考题库及1套参考答案详解
- 2025广东深圳市龙岗区耳鼻咽喉医院招聘8人备考题库及一套答案详解
- 2025四川省旅游投资集团有限责任公司招聘3人备考题库完整答案详解
- 2025安徽芜湖医药健康职业学院招聘11人备考题库及参考答案详解1套
- 2025天津海顺物业管理有限公司社会招聘2人备考题库及答案详解一套
- 糖尿病高血压合并慢性肾功能不全的降压策略
- 糖尿病预防中的家庭医生签约服务模式
- 糖尿病足预防的社区筛查与干预网络
- 吉林省户用光伏施工方案
- 工程部物业消防知识培训课件
- 江西省婺源县联考2026届数学七年级第一学期期末学业水平测试试题含解析
- 2025至2030水蛭素产品行业发展研究与产业战略规划分析评估报告
- 非煤矿山安全员题库及答案解析
- 餐饮连锁加盟店标准运营手册
- 军人翻墙导致的危害课件
- 园区运营年终汇报
- 数据中心设备采购管理实施计划
- (2025年标准)公司基地农户协议书
- 2025时事政治必考题50题(含答案)
评论
0/150
提交评论