下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Activity 简单介绍Activity什么是 ActivityActivity 是用户接口程序,原则上它会提供给用户一个交互 式的接口功能。它是 android 应用程序的基本功能单元。Activity 本身是没有界面的。 所以 activity 类创建了一个窗口, 开发人员可以通过 setContentView(View) 接口把 UI 放到activity 创 建的窗口上, 当 activity 指向全屏窗口时, 也可以 用其他方式实现:作为漂浮窗口(通过 windowIsFloating 的 主题集合),或者嵌入到其 他的 activity( 使用 ActivityGroup )。a
2、ctivity 是单独的,用于处理用户操作。几乎所有的 activity都要和用户打交道。个应用程序中的 activity 被指定 为 "main"activity ,当第一次启动应用程序的时候呈现给用户的那个 activity 。每个 activity 然后可以启动另一个activity 为了完成不同的动作。每一次一个 activity 启动,前一个 activity 就停止了,但是系统保留 activity 在一个栈上“ back stack 。”当)一个新 activity 启动,它被推送到栈顶,取得用户焦点。 Back Stack符合简单“后进先出”原则,所以,当用
3、户完成当前 activity 然后点击 back 按钮,它被弹出栈(并且被摧毁) ,然后之前的activity 恢复。当一个 activity 因新的 activity 启动而停止, 它被通知这种状 态转变通过 activity 的生命周期回调函数。有许多回调函数 一个 activity 可能会收到,源于它自己的状态变化无论系 统创建它、停止它、恢复它、摧毁它并且每个回调提供你 完成适合这个状态的指定工作的机会。例 如,当停止的时 候,你的 activity 应该释放任何大的对象,例如网络数据库 连接。当 activity 恢复,你可以重新获得必要的资源和恢复 被中断的动 作。这些状态转换都是
4、 activity 的生命周期的部 分。声明 AndroidManifest.xml你必须声明你的 activity 在 manifest 文件为了它可以被系统一.古元素访问。要声明你的 activity ,打开你的 manifest 文件,添加 个 <activity> 元素作为 <application> 元素的子元 素。例如:使用 intent-filter个 <activity> 元素也能指定多种 intent filters 使用<inetent-filter> 元素为了声
5、明其它应用程序可以激 活它。当你创建一个新应用程序使用 Android SDK 工具,存根activity 自动为你创建, 包含一个 intent filter ,声明了 activity响应"main"动作,并且应该被 放置 在"launcher"分类。Intentfilter 看起来像这个样子。<action> 元素指定这是一个 "main" 入口点对这个应用 程序。 <category> 元素指定,这个 activity 应该被列入系统应用程序列表中(为了允许用户启动这个
6、activity )。四、启动 Activity你可以开启另一个 activity 通过 startActivity() ,传递一个Intent 描述了你希望启动的 Activity 。 Intent 指定要么准备的。 一个activity 你希望启动或描述你希望完成的动作 (操作系统选择 合适的 activity 为你,可能来自定不同的应用程序)intent 可以传输小量数据被启动的 activity 使用。显示启动(当前的 Activity ,启动的 Activity )隐式启动(包名 + 类名)五、启动 Activity 并返回结果有时, 你或许希望接收一个结果从你启动的activity
7、 。在这种 情况下,开启这个 activity 通过 startActivityForResult()( 而 不是 startActivity() 。然后从随后的 activity 接收结果,实现onActiviryResult() 回调函数。 当随后的 activity 完成, 它返回个结果给你的 onActivityResult() 函数通过一个 intent 。六、关闭 Activity你可以关闭一个 activity 通过调用自身的 finish() 方法。你也 可以关闭一个独立的 activity 你之前启动的通过 finiActivity() 。注意,在 setResult 后,要
8、调用 finish() 销毁当前的 Activity , 否则无法返回到原来的 Activity ,就无法执行原来 Activity 的onActivityResult 函数,看到当前的 Activity 没反应。七、生命周期由图可知:在一个 Activity 正常启动过程中,这些方法调用的顺序是 onCreate -> onStart -> onResume ;在 Activity 被kill 掉的时候方法顺序是 onPause -> onStop ->onDestroy ,此为一个完整的 Lifecycle 。那么对于中断处理比如电话
9、来了) ,则是 onPause -> onStop ,恢复时onStart -> onResume ;如果当前应用程序的是一个Theme 为 Translucent (半透明) 或者 Dialog 的 Activity那么中断就是 onPause , 恢复的时候 onResume 。那么对于” Other app need memory ”,就是我们手机在运行一个应用程序的时候,有可能打进来电话发进来短信, 或者没有电了,这时候程序都会被中断,优先去服务电话的 基本功能, 另外系统也不允许你占用太多资源,至少要保证一些功能 (比如电话) ,所以资源不足的时候也就有可
10、能被 kill 掉。onCreate :在这里创建界面,做一些数据的初始化工作;onStart : 到这一步变成“用户可见不可交互”的状态;onResume :变成和用户可交互的, ( 在 Activity 栈系统通过 栈的方式管理这些 Activity ,即当前 Activity 在栈的最上端, 运行完弹出栈,则回到上一个 Activity) ;onPause :到这一步是可见但不可交互的,系统会停止动画 等消耗 CPU 的事情。从上文的描述已经知道,应该在这里 保存你的一些数据 ,因为这个时候你的程序的优先级降低,有可能被系统收回。在这里保存的数据,应该在onResume 里读出来。onStop :变得不可见 ,被下一个 activity 覆盖了onDestroy :这是 Activity 被 kill 前最后一个被调用方法了, 可能是其他类调用 finish 方法或者是系统为了节省空间将 它暂时性的干掉,可以用 isFinishi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 46532-2025城市轨道交通车载电能计量装置
- GB/T 7424.370-2025光缆第3-70部分:室外光缆快速/多次布放光缆门类规范
- 2025年中国跨境电商支付行业发展研究报告
- 文书模板-医院财务报销制度与流程
- 2025年AI营销工具运营岗年终转化数据总结与策略优化
- 2025年基层林业专员年终总结(造林+管护)
- 圆场解围话术
- 秘书学职业前景
- 2026中国工商银行四川巴中分行校园招聘1000人备考题库附答案详解(模拟题)
- 2025年甘肃省武威市凉州区五和镇招聘专业化管理大学生村文书备考题库附答案详解ab卷
- 2025年及未来5年中国复合改性聚醚醚酮行业市场全景调研及投资规划建议报告
- 2025至2030中国锂电池行业项目调研及市场前景预测评估报告
- 备品备件仓库管理改善
- 2025档案管理笔试题目及答案
- 减肥产品招商课件
- 2025年光伏电站运维合同协议范本
- 尾矿库安全知识培训
- 酒店毒品预防知识培训课件
- 码头建设专业知识培训课件
- 2025年国企招聘考试公共基础知识考试题(含答案)
- 2025年运动服饰市场趋势研究报告
评论
0/150
提交评论