- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
深入解析Activity;首先,我们从只有一个用户界面的Android程序,开始Activity的学习。;在Android应用程序里,一个Activity就是一个用户界面。用户与程序的交互就是通过该类来实现的。
;每一个活动(Activity)都处于某一个状态。对于开发者来说,是无法控制其应用程序处于某一个状态的,这些均由系统来完成。但是当一个活动的状态发生改变的时候,开发者可以通过调用onXXX()的方法,获取到相关的通知信息。
第一次启动MainActivity,依次执行以下方法:onCreate()? MainActivity created?onStart()?MainActivity started?onResume()?MainActivity actived,进入活动状态。
;结束MainActivity,依次执行以下方法:onPause ()?MainActivity paused?onStop ()?MainActivity
stoped? onDestory ()?MainActivity killed。
首先,Activity由活动状态转为暂停状态。此时它依然与窗口管理器保持连接,系统继续维护其内部状态,所以它仍然可见。但它已经失去了焦点,故不可与用户交互。在极特殊的情况下,Android将会杀死一个暂停的Activity,来为活动的Activity提供充足的资源;
接着该Activity被停止,变为完全隐藏,失去焦点,并且不可见。但是,系统将仍然在内存中保存它所有的状态和信息;
最后该Activity被杀死,转为销毁状态。Activity结束,退出当前应用程序。
;一个应用程序通常有不同的界面,由此可知一个Android应用程序可以由多个Activity组成。接下来我们学习,在包含两个Activity的应用程序中,两界面之间如何实现跳转。
;主Activity是程序启动的入口。应用程序成功启动之后,呈献给用户的第一个界面,即为该程序的主Activity。
第一次启动ActivityLifeCylceActivity,依次执行以下方法:onCreate()?onStart()?onResume(),ActivityLifeCylceActivity位于栈顶,处于活动状态。
;新建程序中的第二个Activity界面,以便实现界面的跳转。
;在主Activity中,声明Intent(详细介绍见6.4)对象,调用setClass()方法启动目标组件。然后,触发主Activity的按钮单击监听事件,调用startActivity()方法,启动另一个Activity。
启动第二个Activity时,第一个Activity onPause()转为暂停状态,因为第二个Activity需要在前台运行。这时候需要将活动的状态持久化,比如正在编辑的数据库记录等;
第二个Activity第一次启动,依次执行 onCreate()?onStart()?onResume()方法。Two位于栈顶,处于活动状态;
第一个Activity 不再需要展示给用户,执行onStop()方法,ActivityLifeCylceActivity被压入栈底,转为停止状态。
;注:如果内存紧张,系统会直接结束这个活动,而不会触发 onStop() 方法。所以保存状态信息是应该在onPause时做,而不是onStop时做。活动如果没有在前台运行,都将被停止,或者Linux管理进程为了给新的活动预留足够的存储空间而随时结束这些活动。因此对于开发者来说,在设计应用程序的时候,必须时刻牢记这一原则。在一些情况下,onPause()方法或许是活动触发的最后的方法,因此开发者需要在这个时候保存需要保存的信息。
;同理,跳转回主Activity,需要在第二个Activity中,声明Intent对象。然后指定主Activity为目标组件,触发按钮单击监听事件,调用startActivity()方法实现跳转。
当返回到第一个Activity时,第二个Activity onPause() 转为暂停状态;
第一个Activity onRestart(),被重新启动,再次展现给用户,然后执行onStart()、onResume()方法。ActivityLifeCylceActivity再次位于栈顶,由停止状态转为活动状态,;
第二个Activity执行 onStop()方法,被压入栈底,转为停止状态。
;当用户按下手机上的BACK键时,结果和调用 Activity.finish()方法一样:告诉 Activity Manager,该 Activity 实例完成了相应的工作,可以被“回收”。
第二个Activity onRestart(),被重新启动,再次展现给用户,然后执
您可能关注的文档
- 寝室文化答辩教材.pptx
- 青岛版科学三年级上册基训答案教材.doc
- 青岛版数学四年级下册全册备课教材.doc
- 青岛版四年级上册科学实验操作教材.doc
- 青岛版小学科学三~六年级实验操作方法指导教材.doc
- 青岛版小学数学二年级下册第二单元练习题教材.doc
- 青岛版小学二年级数学下册第二单元名师教案集锦教材.doc
- 青岛版小学五年级第一单元教学设计教材.doc
- 青岛版一年级下册数学第5单元—人民币的认识教材.doc
- 青岛版一年级下册数学第6单元—100以内的加减法(二)教材.doc
- 2025年山西卫生健康职业学院单招语文2019-2024历年真题考点试卷含答案解析.docx
- 2025年山西卫生健康职业学院单招英语2014-2024历年真题考点试卷摘选含答案解析.docx
- 2025年山西同文职业技术学院单招语文2019-2024历年真题考点试卷含答案解析.docx
- 2025年山东胜利职业学院单招(数学)历年真题考点含答案解析.docx
- 2025年山西同文职业技术学院单招职业技能测试近5年真题考点含答案解析.docx
- 2025年山东司法警官职业学院单招(数学)历年真题考点含答案解析.docx
- 2025年山东轻工职业学院单招英语2014-2024历年真题考点试卷摘选含答案解析.docx
- 2025年山东轻工职业学院单招职业适应性测试历年(2019-2024年)真题考点试卷含答案解析.docx
- 2024甘肃古浪县人民政府甘肃正林农垦食品有限公司古浪根力多生物科技有限公司招聘生产普工30人笔试参考题库附带答案详解.pdf
- 2024甘肃水投集团招聘9人大专往届可报笔试参考题库附带答案详解.pdf
文档评论(0)