下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、android面试题摘要1、说说mvc模式的原理,它在android中的运用,android的 官方建议应用程序的开发采用 mvc模式。何谓mvc?mvc是 model,view,controller的缩写,mvc包含三个部分:模型(model)对象:是应用程序的主体部分,所有的业务逻辑都 应该写在该层。视图(view)对象:是应用程序中负责生成用户界面的部分。也是 在整个mvc架构中用户唯一可以看到的一层,接收用户的输入,显 示处理结果。控制器(control)对象:是根据用户的输入,控制用户界面数据 显示及更新model对象状态的部分,控制器更重要的一种导航功能, 想用用户出发的相关事件,
2、交给model处理。2、android鼓励弱耦合和组件的重用,在 android中mvc的具 体体现如下:视图层(view): 一般采用xml文件进行界面的描述,使用的时候 可以非常方便的引入,当然,如何你对 android 了解的比较的多了 话,就一定可以想到在android中也可以使用javascript+html 等 的方式作为view层,当然这里需要进行java和javascript 之间的 通信,幸运的是,android提供了它们之间非常方便的通信实现。控制层(controller) : android的控制层的重任通常落在了众多 的acitvity 的肩上,这句话也就暗含了不要在a
3、citivity中写代码,要通过activity 交割model业务逻辑层处理,这样做的另外一个原 因是android中的acitivity 的响应时间是5s,如果耗时的操作放 在这里,程序就很容易被回收掉。模型层(model):对数据库的操作、对网络等的操作都应该在 model里面处理,当然对业务计算等操作也是必须放在的该层的。3、Activity的生命周期和其他手机平台的应用程序一样,Android的应用程序的生命周期是被统一掌控的,也就是说我们写的应用程序命运掌握在别人(系统)的手里,我们不能改变它,只能学习并适应它。简单地说一下为 什么是这样:我们手机在运行一个应用程序的时候,有可能打
4、进来 电话发进来短信,或者没有电了,这时候程序都会被中断,优先去服 务电话的基本功能,另外系统也不允许你占用太多资源,至少要保 证电话功能吧,所以资源不足的时候也就有可能被干掉。言归正传,Activity的基本生命周期如下代码所示:Java代码publicclassMyActivityextendsActivityprotectedvoidonCreate(BundlesavedInstanceState);protectedvoidonStart();protectedvoidonResume();protectedvoidonPause();protectedvoidonStop();pr
5、otectedvoidonDestroy();)你自己写的Activity 会按需要重载这些方法,onCreate是免不 了的,在一个Activity 正常启动的过程中,他们被调用的顺序是 onCreate->onStart->onResume,在 Activity 被干掉的时候顺序是 onPause->onStop->onDestroy ,这样就是一个完整的生命周期,但 是有人问了,程序正运行着呢来电话了,这个程序咋办?中止了呗,如果中止的时候新出的一个 Activity是全屏的那么:onPause->onStop,恢复的时候onStart->onResu
6、me ,如果打断这个应用程序 的是一个Them咙Translucent或者Dialog的Activity 那么只是 onPause,恢复的时候 onResume详细介绍一下这几个方法中系统在做什么以及我们应该做什么:onCreate:在这里创建界面,做一些数据的初始化工作onStart:到这一步变成用户可见不可交互的onResume变成和用户可交互的,(在activity 栈系统通过栈的 方式管理这些个Activity 的最上面,运行完弹出栈,则回到上一个 Activity)onPause:到这一步是可见但不可交互的,系统会停止动画等消耗 CPU勺事情从上文的描述已经知道,应该在这里保存你的一
7、些数据,因为这个时候你的程序的优先级降低,有可能被系统收回。在这里 保存的数据,应该在onResumei读出来,注意:这个方法里做的事情时间要短,因 为下一个activity 不会等到这个方法完成才启动onstop:变得不可见,被下一个activity 覆盖了onDestroy:这是activity 被干掉前最后一个被调用方法了,可 能是外面类调用finish方法或者是系统为了节省空间将它暂时性的 干掉,可以用isFinishing() 来判断它,如果你有一个ProgressDialog 在线程中转动,请在 onDestroy 里把他cancel掉, 不然等线程结束的时候,调用 Dialog的cancel方法会抛异常的。 onPause, onstop , onDestroy ,三种状态下activity 都有可能被系 统干掉为了保证程序的正确性,你要在onPause()里写上持久层操作的代码,将用户编辑的内容都保存到存储介质上(一般都是数据库)。实际工作中因为生命周期的变化而带来的问题也很多,比如你 的应用程序起了新的线程在跑,这时候中断了,你
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024合法的咨询服务合同
- 2024年度医疗设施EPC建设合同
- 2024电子版个人服务合同书
- 2024年度5G基站建设设计与施工服务合同
- 2024年度供应链管理合同:供应商与采购商之间的货物供应与付款协议
- 谁会跑课件教学课件
- 2024年度租赁期满后购买合同标的购买价格
- 2024年师范大学新进教师就业协议
- 2024年度文化旅游项目合作合同
- 2024年度医疗设备研发与生产许可合同
- 营养指导员理论考试题库及答案
- 2023秋季学期国开电大专本科《法律文书》在线形考(第一至五次考核形考任务)试题及答案
- 辽宁省大连市金普新区2023-2024学年九年级上学期期中化学试题
- 消防安全重点单位消防安全管理人员报告备案表
- 数据清洗课件-第4章-数据采集与抽取
- 2023年新改版青岛版(六三制)四年级上册科学全册精编知识点梳理
- 小学英语-There is an old building in my school教学设计学情分析教材分析课后反思
- GB/T 16935.1-2023低压供电系统内设备的绝缘配合第1部分:原理、要求和试验
- 临床微生物学检验:实验八 肠道杆菌的检验(三)
- 23秋国家开放大学《学前教育科研方法》形考作业1-3+终考作业参考答案
- 义务教育语文“思辨性阅读与表达”学习任务群教学策略
评论
0/150
提交评论