版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、安卓开发,四个组件,安卓应用程序组成,2,活动,服务,广播接收器,内容提供者,意图,活动,我是活动,因为我是你展示给别人的最直接的外观,所以我当然是一个美女,活动,一个视觉用户界面通过视图管理用户界面。每个具有用户界面的应用程序至少包含一个活动。一个应用程序可以有多个活动。其中一个被用作主活动来启动显示活动。通过启动活动或启动活动或结果来启动另一个活动。4.活动,4,活动通过视图管理用户界面视图查看、绘制用户界面和处理用户界面。事件视图可以由xml描述定义,也可以用代码生成。安卓建议将用户界面设计和逻辑分开。安卓用户界面设计与swing相似,swing通过布局、活动生命周期来组织用户界面组件,
2、而活动是通过onCreate来创建的。当某个活动失去焦点时,该活动将进入暂停状态,当内存不足时,系统将终止该活动。当继续时,活动被另一个活动覆盖,该活动将进入停止状态,并且系统将在需要存储器时终止它。6.活动生命周期。cont,该活动有三种状态:当它在屏幕的前台(在当前任务堆栈的顶部)时,它是活动的或正在运行的。它是响应用户操作的活动。当它有另一个活动时,这使它失去焦点,但仍然对用户可见(如右图所示),它处于暂停状态。它上面的活动没有完全覆盖屏幕,或者它是透明的。暂停的活动仍然对用户可见,并且是活动的(它保留所有状态和成员信息,并保持与窗口管理器的连接)。如果系统内存不足,此活动将被终止。当它
3、被另一个活动完全覆盖时,它处于停止状态。它仍然保留所有状态和成员信息。但是,它对用户是不可见的,所以它的窗口将被隐藏。如果其他地方需要内存,系统通常会终止此活动。当一个活动从一种状态变为另一种状态时,将调用以下保护方法来通知这一变化:创建时无效(捆绑保存状态)、启动时无效(重新启动时无效)、恢复时无效(恢复时无效)、暂停时无效、停止时无效、销毁时无效、活动生命周期。这七种方法定义了活动的完整生命周期。实现这些方法可以帮助我们监控三个嵌套的生命周期:活动的整个生命周期从第一次调用onCreate()开始,直到调用onDestroy()。活动将onCreate()中的所有“全局”状态设置为完成初始
4、化,并释放onDestroy()中的所有系统资源。例如,如果一个活动有一个线程在后台运行以从网络下载数据,它将在onCreate()创建一个线程,并在onDestroy()销毁它。活动的视觉生命周期从调用onStart()开始,到调用onStop()结束。在此期间,用户可以在屏幕上看到活动,尽管它可能不在前景中或与用户交互。在这两种方法之间,我们可以保留向用户显示此活动所需的资源。例如,当用户不再看到我们显示的内容时,我们可以在onStart()中注册一个BroadcastReceiver来监控将影响用户界面的更改,并在onStop()中取消它。OnStart()和onStop()方法可以被多
5、次调用,具体取决于应用程序是否对用户可见。活动的前台生命周期以onResume()调用开始,以相应的onPause()调用结束。在此期间,活动位于前景的顶部,并与用户交互。活动通常会在暂停和恢复之间进行状态转换。例如,当设备进入睡眠状态或新的活动开始时,将调用onPause()方法。当活动获得结果或收到新的意图时,将调用onResume()方法。如需前台生命周期的示例,请参见PPT下方的备注栏。活动的在保存实例状态()和在恢复实例状态()方法、活动的在保存实例状态()和在恢复实例状态()不是生命周期方法,它们不同于在创建()和其他生命周期方法,它们可能不会被触发。当应用程序遇到意外情况(如内存
6、不足和用户直接按下主页按钮)时,当系统破坏活动时,将调用OnSaveInstanceState()。但是,当用户主动销毁某个活动时,例如在应用程序中按下返回键,将不会调用onSaveInstanceState()。因为在这种情况下,用户的行为决定了没有必要保存活动状态。通常,onSaveInstanceState()只适用于保存一些临时状态,而onPause()适用于数据持久性。此外,当屏幕方向改变时,活动将被销毁并重新创建。如果您想在活动被销毁之前缓存一些数据,并在重新创建活动后恢复缓存的数据。您可以覆盖activity的onSaveInstanceState()和onRestoreInst
7、anceState()方法,如下所示:公共类首选项activity扩展了Activity私有字符串名称;受保护的无效onRestoreInstanceState(绑定保存的实例)名称=保存的实例. getString(名称);/恢复缓存的超级数据。重新创建后的onrestore instance(savedinstancestate );受保护的无效存储实例状态(捆绑未完成)未完成输出字符串(名称,黎明);/缓存一些超级数据。在被销毁之前处于保存状态;在安卓系统中,应用程序的响应由两个系统服务监控:活动管理器和窗口管理器。当用户触发输入事件(如键盘输入、点击按钮等)时。),如果应用程序未能在5
8、秒钟内响应用户的输入事件,安卓将识别应用程序无响应,并弹出ANR(应用程序无响应)对话框。如右图所示。在正常情况下,安卓程序将在一个线程中运行。如果活动必须处理一个耗时的任务,它应该被交给子线程。消极的一面是,主线程被阻塞,随后的用户输入事件在5秒钟内没有响应,导致应用程序中出现ANR对话框。,为应用添加新的活动,第一步:新建一个继承活动的类,如:新活动公共类新活动扩展活动覆盖受保护的无效创建时(绑定保存的实例(超级创建时(保存的实例);/这里可以使用setContentView(R.layout.xxx)显示某个视图.第二步:需要在功能清单AndroidManifest.xml文件中添加进上
9、面活动配置代码(红色部分):android:name属性值的前面加了一个点表示新活动是当前包cn.csst.action下的类,如果类在应用的当前包下,可以省略点符号,如果类在应用的子包下必须加点,如:新活动类在cn.csst.action.user包下可以这样写:打开新的活动,不传递参数,在一个活动中可以使用系统提供的开始活动(意向意向(方法打开新的活动,在打开新的活动前,你可以决定是否为新的活动传递参数:第一种:打开新的活动,不传递参数公共类主活动扩展活动覆盖创建时受保护的无效(捆绑保存实例(.按钮按钮=(按钮(此。查找视图按钮;按钮。设置点击监听器(新视图OnClickListener(
10、)/点击该按钮会打开一个新的活动公共无效单击(视图v) /新建一个显式意图,第一个参数为当前活动类对象,第二个参数为你要打开的活动类开始活动(新意图(主活动。此,新活动。类););打开新的活动,并传递若干个参数给它,第二种:打开新的活动,并传递若干个参数给它:公共类主活动扩展活动覆盖受保护的创建时无效(捆绑保存实例(.按钮。设置点击监听器(新视图OnClickListener()/点击该按钮会打开一个新的活动公共无效单击(视图(v)意图意图=新意图(主活动。此,新活动。类(捆绑包=新捆绑包();/该类用作携带数据bundle.putString(名称,中软国际);bundle.putInt(年
11、龄,4岁);意向。putExtras(捆绑包);/附带上额外的数据startActivity(意向););在新的活动中接收前面活动传递过来的参数:公共类新活动扩展了创建时活动覆盖受保护的无效(绑定保存的实例(.捆绑包=this.getIntent().getExTRAs();字符串名称=bundle.getString(名称);int age=捆绑包。GetInt(年龄);捆绑类的作用,捆绑类用作携带数据,它类似于地图,用于存放键值名值对形式的值。相对于地图,它提供了各种常用类型的putXxx()/getXxx()方法,如:putString()/getString()和putInt()/ge
12、tInt()、putXxx()用于往捆对象放入数据,getXxx()方法用于从捆对象里获取数据捆绑的内部实际上是使用了HashMap类型的变量来存放putXxx()方法放入的值:公共最终类捆绑实现可打包、可克隆.地图mMap公共捆绑包(MMap)=新HashMap();公共无效输入字符串(字符串键,字符串值);公共字符串获取字符串(字符串键(对象o=mMap.get(键);返回(字符串o ./类型转换失败后会返回null,这里省略了类型转换失败后的处理代码在调用捆对象的getXxx()方法时,方法内部会从该变量中获取数据,然后对数据进行类型转换,转换成什么类型由方法的Xxx决定,getXxx()方法会把转换后的值返回。,这是向意图添加数据的两种方法。第一种方法是分批向意向添加数据:意向意向=新意向();捆绑包=新捆绑包();/此类用于传输数据包。意向. putExtras(捆绑包);/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 杭州消防员绩效考核制度
- 建筑工程单项目考核制度
- 海洋生物深加工项目市场调研报告
- 公司数字化转型战略规划报告
- 公司员工培训需求评估表
- 生物医药企业薪酬结构分析报告
- 机械工程制造公司机械设计工程师实习报告
- 教育学教港教师助理实习报告
- 产品设计XX创产品设计实习报告
- 工程管理建设工程公司项目管理实习报告
- 2026年跨境代购平台营销活动策划调研
- 2025年6月浙江省高考历史试卷(含答案详解)
- 《桑蚕丝被》编制说明
- 校车安全管理培训宣传课件
- 2025年河北单招第三类考试题及答案
- 糖尿病酮症酸中毒合并急性胰腺炎护理查房
- 物料分级现场管理办法
- 高中面试实战:新面试题目及应对策略
- 苏教版小学三年级上数学口算题卡
- 报废汽车安全生产管理制度
- 会议摄影拍摄教学课件
评论
0/150
提交评论