版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1. 什什么是AActiivitty? 四大组件件之一,一般的的,一个个用户交交互界面面对应一一个acctivvityysetCConttenttVieew() ,/ 要要显示的的布局 buttton.settOncclicckLiinstteneer, acctivvityy 是CConttextt的子类类,同时时实现了了winndoww.caallbbackk和keeyevventt.caallbbackk, 可可以处理理与窗体体用户交交互的事事件.我开发常常用的的的有LiistAActiivitty , PPreffereenceeActtiviity ,TaabAccitiivtyy等
2、如果界面面有共同同的特点点或者功功能的时时候,还还会自己己定义一一个BaaseAActiivitty. 进度对话话框的显显示与销销毁 douubannserrvicce 2. 请请描述一一下Acctivvityy 生命命周期。生命周期期描述的的是一个个类 从从创建(neww出来)到死亡亡(垃圾圾回收)的过程程中会执执行的方方法.在这个过过程中 会针对对不同的的生命阶阶段会调调用不同同的方法法Actiivitty从创创建到销销毁有多多种状态态,从一一种状态态到另一一种状态态时会激激发相应应的回调调方法,这这些回调调方法包包括:ooncrreatte oondeestrroy onsstopp o
3、nnstaart onrresuume onppausse 其实这些些方法都都是两两两对应的的,onnCreeatee创建与与onDDesttroyy销毁;onSttartt可见与与onSStopp不可见见;onnRessumee可编辑辑(即焦焦点)与与onPPausse;这6个方方法是相相对应的的,那么么就只剩剩下一个个onRResttartt方法了了,这个个方法在在什么时时候调用用呢?答案就是是:在AActiivitty被oonSttop后后,但是是没有被被onDDesttroyy,在再再次启动动此Acctivvityy时就调调用onnResstarrt(而而不再调调用onnCreeate
4、e)方法法;如果被oonDeestrroy了了,则是是调用oonCrreatte方法法。最后讲自自己项目目中的经经验,比比如说豆豆瓣客户户端每次次进入某某个界面面的时候候都要看看到最新新的数据据,这个个刷新列列表的操操作 就就放在oonSttartt()的的方法里里面.这这样保证证每次用用户看到到的数据据都是最最新的.多媒体播播放, 播放来来电话. onnStoop() 视频频, 视视频声音音设置为为0 , 记录录视频播播放的位位置 mmediiapllayeer.ppausse();onSttartt() 根据保保存的状状态恢复复现场. meediaaplaayerr.sttartt();
5、在读文档档的时候候 还发发现 aactiivitty还有有两个方方法 oonPoostRResuume() 和和 OnnPosstCrreatte()这两个个生命周周期的方方法,不不过开发发的时候候没有用用到过.3. 两两个Acctivvityy之间跳跳转时必必然会执执行的是是哪几个个方法。一般情况况比如说说有两个个acttiviity,分别叫叫A,BB ,当当在A里里面激活活B组件件的时候候, AA 会调调用 oonPaausee()方方法,然然后B 调用oonCrreatte() ,oonSttartt(), OnnRessumee() , 这个时时候B覆覆盖了窗窗体, A会调调用onnS
6、toop()方法. 如如果B呢呢 是个个透明的的,或者者是对话话框的样样式, 就不会会调用oonSttop()方法法4. 横横竖屏切切换时候候Acttiviity的的生命周周期。这个生命命周期跟跟清单文文件里的的配置有有关系1、不设设置Acctivvityy的anndrooid:connfiggChaangees时,切切屏会重重新调用用各个生生命周期期默认首先先销毁当当前acctivvityy,然后后重新加加载2、设置置Acttiviity的的anddroiid:cconffigCChanngess=oorieentaatioon|kkeybboarrdHiiddeen时时,切屏屏不会重重新调
7、用用各个生生命周期期,只会会执行oonCoonfiigurratiionCChanngedd方法游戏开发发中, 屏幕的的朝向都都是写死死的. 5. 如如何将一一个Acctivvityy设置成成窗口的的样式。andrroidd:thhemee=anddroiid:sstylle/TThemme.DDiallog 可以以自定义义一个aactiivitty的样样式,详详细见手手机卫士士的程序序详细信信息andrroidd:thhemee=styyle/FlooatAActiivittyE:dday99moobillesaaferessvaalueessstylle6. 你你后台的的Acttiviit
8、y被被系统 回收怎怎么办?如果后后台的AActiivitty由于于某原因因被系统统回收可可了,如如何在被被系统回回收之前前保存当当前状态态?除了在栈栈顶的aactiivitty,其其他的aactiivitty都有有可能在在内存不不足的时时候被系系统回收收,一个个acttiviity越越处于栈栈底,被被回收的的可能性性越大.prottecttedvvoidd onnSavveInnstaanceeStaate(Bunndlee ouutSttatee) supeer.oonSaaveIInsttancceSttatee(ouutSttatee);outtStaate.puttLonng(id,
9、11234456778900);publlicvvoidd onnCreeatee(Buundlle ssaveedInnstaanceeStaate) /判断断 saaveddInsstannceSStatte是不不是空./如果果不为空空就取出出来supeer.oonCrreatte(ssaveedInnstaanceeStaate);7. 如如何退出出Acttiviity?如何安安全退出出已调用用多个AActiivitty的AAppllicaatioon?退出acctivvityy 直接接调用 finnishh () 方法法 . /用用户点击击bacck键 就是退退出一个个acttivii
10、ty 退出acctivvityy 会执执行 oonDeestrroy()方法法 .1、抛异异常强制制退出:该方法通通过抛异异常,使使程序FForcce CClosse。 验证可以以,但是是,需要要解决的的问题是是,如何何使程序序结束掉掉,而不不弹出FForcce CClosse的窗窗口。/安全全结束进进程 anddroiid.oos.PProccesss.kiillPProccesss(anndrooid.os.Proocesss.mmyPiid();2、记录录打开的的Acttiviity:每打开一一个Acctivvityy,就记记录下来来。在需需要退出出时,关关闭每一一个Acctivvity
11、y即可。LListt llistts ; 在aappllicaatioon 全全集的环环境里面面 liistss = neww ArrrayyLisst();listts.aadd(acttiviity);for(Acttiviity acttiviity: liistss)acttiviity.finnishh();3、发送送特定广广播:在需要结结束应用用时,发发送一个个特定的的广播,每每个Acctivvityy收到广广播后,关关闭即可可。/给某某个acctivvityy 注册册接受接接受广播播的意图图 reggistterRReceeiveer(rreceeiveer, fillterr)
12、/如果果过接受受到的是是 关闭闭acttiviity的的广播 就调调用fiinissh()方法 把当前前的acctivvityy fiinissh()掉 4、递归归退出在打开新新的Acctivvityy时使用用staartAActiivittyFoorReesullt,然然后自己己加标志志,在oonAcctivvityyRessultt中处理理,递归归关闭。上面是网网上的一一些做法法.其实 可可以通过过 inntennt的fflagg 来实实现. inntennt.ssetFFlagg(FLLAG_ACTTIVIITY_CLEEAR_TOPP)激活活一个新新的acctivvityy,然后后在新
13、的的acttiviity的的onccreaate方方法里面面 fiinissh掉.讲一讲你你对acctivvityy的理解解 把上面的的几点用用自己的的心得写写出来8. sservvicee是否在在maiin tthreead中中执行, seerviice里里面是否否能执行行耗时的的操作?默认情况况,如果果没有显显示的指指定seerviice所所运行的的进程, Servvicee和acctivvityy是运行行在当前前appp所在进进程的mmainn thhreaad(UUI主线线程)里里面 servvicee里面不不能执行行耗时的的操作(网络请请求,拷拷贝数据据库,大大文件 )在子线程程中执
14、行行 neew TThreead().sttartt();特殊情况况 ,可可以在清清单文件件配置 serrvicce 执执行所在在的进程程 ,让让serrvicce在另另外的进进程中执执行 9. 两两个Acctivvityy之间怎怎么传递递数据?基本数据据类型可可以通过过. Inteent 传递数数据 在A aactiivitty中Inteent inttentt = neww Inntennt();inteent.puttExttra(namme, vallue) Bunndlee buundlle = neew BBunddle(); bunndlee.puutBoooleean(keyy
15、, vaaluee); inttentt.puutExxtraas(bbunddle);extrras.puttDouublee(keey, vallue)/ 通通过inntennt pputEExtrra 方方法 基基本数据据类型 都传递递 Inttentt i = ggetIInteent(); i.ggetEExtrras();inteent.gettStrringgExttra(keey,vaaluee);inteent.gettBoooleaanExxtraa(kkey,vvaluue)Bunndlee buundlle = neew Bunndlee(); bummdlee.puu
16、tShhortt(keey, vallue); inttentt.puutExxtraas(bbumddle);inteent.puttExttrass(buundlle)-Appllicaatioon 全全局里面面存放 对象 ,自己己去实现现自己的的apppliccatiion的的这个类类,基础系统统的apppliicattionn , 每个aactiivitty都可可以取到到-让对象实实现 iimpllemeentss SSeriialiizabble 接口把把对象存存放到文文件上. 让类实现现Serriallizaablee 接口口,然后后可以通通过 OObjeectOOutpputSS
17、treeam /对象输输出流 Fiile fille = neew FFilee(cc:11.obbj);FiileOOutpputSStreeam foss = neew FFileeOuttputtStrreamm(fiile);ObbjecctOuutpuutSttreaam ooos = nnew ObjjecttOuttputtStrreamm(foos);Sttudeent stuu = neww Sttudeent();ooos.wwritteObbjecct(sstu);/从文件件中把对对象读出出来 ObbjecctInnputtStrreamm oiis = neew OOb
18、jeectIInpuutSttreaam(aarg00); SStuddentt sttu1 = (Stuudennt) oiss.reeadOObjeect();文件/网网络 inteent.settDatta(UUri) Uri.froomFiile(); /大图片片的传递递10. 怎么让让在启动动一个AActiivitty是就就启动一一个seerviice?在acttiviity的的onCCreaate()方法法里面 staartSServvicee();11. 同一个个程序,不不同的AActiivitty是否否可以放放在不同同的Taask任任务栈中中?比方说在在激活一一个新的的actt
19、iviity时时候, 给inntennt设置置flaagInteent的的flaag添加加FLAAG_AACTIIVITTY_NNEW_TASSK 这这个被激激活的aactiivitty就会会在新的的tassk栈里里面Inttentt inntennt = neew IInteent(A.tthiss,B.claass);inttentt.seetFllagss(Inntennt.FFLAGG_ACCTIVVITYY_NEEW_TTASKK);staartAActiivitty(iinteent);2.Acctivvityy的启动动模式就就有一种种单例模模式,它它就是单单独的一一个任务务栈。1
20、2. Acttiviity怎怎么和sservvicee绑定,怎怎么在aactiivitty中启启动自己己对应的的serrvicce?starrtSeerviice() 一一旦被创创建 调用着着无关 没没法使用用serrvicce里面面的方法法 binddSerrvicce () 把把serrvicce 与与调用者者绑定 ,如果果调用者者被销毁毁, sservvicee会销毁毁binddSerrvicce() 我们们可以使使用seerviice 里面的的方法binndSeerviice(). 让aactiivitty能够够访问到到 seerviice里里面的方方法构建一一个inntennt对象象
21、,Inteent serrvicce = neew IInteent(thiis,MMySeerviice.claass); 通过bbinddSerrvicce的方方法去启启动一个个服务, binndSeerviice(inttentt, nnew MyCConnn(), BIIND_AUTTO_CCREAATE);ServviceeConnnecctioon 对对象(重重写onnSerrvicceCoonneecteed和OOnSeerviiceDDiscconnnectted方方法) 和BIIND_AUTTO_CCREAATE.priivatte cclasss mmycoonn impp
22、lemmentts SServviceeConnnecctioonpuubliic vvoidd onnSerrvicceCoonneecteed(CCompponeentNNamee naame, IBBindder serrvicce) / TTODOO Auuto-genneraatedd meethood sstubb/可以以通过IIBinnderr的对象象 去使使用seerviice里里面的方方法puubliic vvoidd onnSerrvicceDiiscoonneecteed(CCompponeentNNamee naame) / TTODOO Auuto-genneraat
23、edd meethood sstubb13. 14 .什么么是Seerviice以以及描述述下它的的生命周周期。SServvicee有哪些些启动方方法,有有什么区区别,怎怎样停用用Serrvicce?在Serrvicce的生生命周期期中,被被回调的的方法比比Acttiviity少少一些,只只有onnCreeatee, oonSttartt, oonDeestrroy,onBiind和和onUUnbiind。通常有两两种方式式启动一一个Seerviice,他们对对Serrvicce生命命周期的的影响是是不一样样的。1 通过过staartSServvicee Serrvicce会经经历 oonCr
24、reatte 到到onSStarrt,然然后处于于运行状状态,sstoppSerrvicce的时时候调用用onDDesttroyy方法。 如如果是调调用者自自己直接接退出而而没有调调用sttopSServvicee的话,SServvicee会一直直在后台台运行。 2 通过bbinddSerrvicce Serrvicce会运运行onnCreeatee,然后后是调用用onBBindd, 这这个时候候调用者者和Seerviice绑绑定在一一起。调调用者退退出了,SSrevvicee就会调调用onnUnbbindd-oonDeestrroyeed方法法。 所所谓绑定定在一起起就共存存亡了。调用者者也
25、可以以通过调调用unnbinndSeerviice方方法来停停止服务务,这时时候Srreviice就就会调用用onUUnbiind-onnDesstrooyedd方法。需要注意意的是如如果这几几个方法法交织在在一起的的话,会会出现什什么情况况呢?一个原则则是Seerviice的的onCCreaate的的方法只只会被调调用一次次,就是是你无论论多少次次的sttarttSerrvicce又bbinddSerrvicce,SServvicee只被创创建一次次。如果先是是binnd了,那那么sttartt的时候候就直接接运行SServvicee的onnStaart方方法,如果先是是staart,那那么
26、biind的的时候就就直接运运行onnBinnd方法法。如果seerviice运运行期间间调用了了binndSeerviice,这这时候再再调用sstoppSerrvicce的话话,seerviice是是不会调调用onnDesstrooy方法法的,sservvicee就sttop不不掉了,只只能调用用UnbbinddSerrvicce, serrvicce就会会被销毁毁如果一个个serrvicce通过过staartSServvicee 被sstarrt之后后,多次次调用sstarrtSeerviice 的话,sservvicee会多次次调用oonSttartt方法。多次调调用sttopSSer
27、vvicee的话,sservvicee只会调调用一次次onDDesttroyyed方方法。如果一个个serrvicce通过过binndSeerviice被被staart之之后,多多次调用用binndSeerviice的的话,sservvicee只会调调用一次次onBBindd方法。多次调用用unbbinddSerrvicce的话话会抛出出异常。不用seerviice,BB页面为为音乐播播放,从从A跳转转到B,再再返回,如如何使音音乐继续续播放?new Meddiapplayyer 这个问题题问的很很山寨.默认不不做任何何处理,B里面面的音乐乐都能播播放. 遇到问题题, 可可以随机机应变,灵活发
28、发挥,多多考虑些些细节,比如说说这个题题就可以以这样说说,说说说你对sstarrtAcctivvityyForrRessultt的理解解()B的结束束的时候候 seetReesullt()A会调用用到onnActtiviityRResuult()就会获取取到reesulltCoodeA开启BB的时候候,用sstarrtAcctivvityyForrRessultt()方方法, B返回回的时候候把播放放的状态态信息返返回给AA ,AA继续播播放音乐乐. seekkTo(ressulttCodde)16. 什么是是InttenttSerrvicce?有有何优点点?普通的sservvicee ,默默
29、认运行行在uii maain 主线程程Sdk给给我们提提供的方方便的,带有异异步处理理的seerviice类类, 可以在在OnHaandlleInntennt() 处理理耗时的的操作其实是一一个单线线程,多多个任务务需要排排队。本本质是线线程+HHanddlerr+队列列17. 什么时时候使用用Serrvicce?拥有sservvicee的进程程具有较较高的优优先级 官方文文档告诉诉我们,AAndrroidd系统会会尽量保保持拥有有serrvicce的进进程运行行,只要要在该sservvicee已经被被启动(staart)或者客客户端连连接(bbinddSerrvicce)到到它。当当内存不不
30、足时,需需要保持持,拥有有serrvicce的进进程具有有较高的的优先级级。1 如如果seerviice正正在调用用onCCreaate, oonSttarttCommmannd或者者onDDesttoryy方法,那那么用于于当前sservvicee的进程程相当于于前台进进程以避避免被kkillled。2 如如果当前前serrvicce已经经被启动动(sttartt),拥拥有它的的进程则则比那些些用户可可见的进进程优先先级低一一些,但但是比那那些不可可见的进进程更重重要,这这就意味味着seerviice一一般不会会被kiilleed.3 如如果客户户端已经经连接到到serrvicce (bin
31、ndSeerviice),那么么拥有SServvicee的进程程则拥有有最高的的优先级级,可以以认为sservvicee是可见见的。4 如如果seerviice可可以使用用staartFForeegrooundd(innt, Nottifiicattionn)方法法来将sservvicee设置为为前台状状态,那那么系统统就认为为是对用用户可见见的,并并不会在在内存不不足时kkillled。如果有其其他的应应用组件件作为SServvicee,Acctivvityy等运行行在相同同的进程程中,那那么将会会增加该该进程的的重要性性。总结:11.可见见后台台的;22.后台台的,sservviceeac
32、ctivvityy;3.serrvicce之间间谁大?staartFForeegrooundd()启启动的服服务级别别要大;1.SServvicee的特点点可以让让他在后后台一直直运行,可以在在serrvicce里面面创建线线程去完完成耗时时的操作作.new Thrreadd()TimeerTaask / 循环的的执行一一个定时时的任务务 .sttartt();2.BBroaadcaast recceivver捕捕获到一一个事件件之后,可以起起一个sservvicee来完成成一个耗耗时的操操作.ANR neew SServvicee()微微信开机机接收推推送消息息3.远远程的sservvice
33、e如果被被启动起起来,可可以被多多次biind, 但不不会重新新creeatee. 索爱手手机X110i的的人脸识识别的sservvicee可以被被图库使使用,可可以被摄摄像机,照相机机等程序序使用.画廊 摄摄像机 照相机机 bbinddSerrvicce() IIbinnderr的对象象, 访访问seerviice AIIDL18. 请描述述一下IInteent 和 IInteent Fillterr。Andrroidd 中通通过 IInteent 对象来来表示一一条消息息,一个个 Inntennt 对对象不仅仅包含有有这个消消息的目目的地,还还可以包包含消息息的内容容,这好好比一封封 Em
34、maill,其中中不仅应应该包含含收件地地址,还还可以包包含具体体的内容容。对于于一个 Inttentt 对象象,消息息“目的地地”是必须须的,而而内容则则是可选选项。通过Inntennt 可可以实现现各种系系统组件件的调用用与激活活. Inteent fillterr: 可可以理解解为邮局局或者是是一个信信笺的分分拣系统统这个分拣拣系统通通过3个个参数来来识别Actiion: 动作作 viiew Dataa: 数数据urri urri Cateegorry : 而外外的附加加信息 Actiion 匹配Actiion 是一个个用户定定义的字字符串,用用于描述述一个 Anddroiid 应应用程
35、序序组件,一一个 IInteent Fillterr 可以以包含多多个 AActiion。在 AAndrroiddMannifeest.xmll 的 Acttiviity 定义时时可以在在其 节点指指定一个个 Acctioon 列列表用于于标示 Acttiviity 所能接接受的“动作”,例如如: 如果我们们在启动动一个 Acttiviity 时使用用这样的的 Inntennt 对对象: Inttentt inntennt =neww Inntennt(); inttentt.seetAcctioon(cn.iitcaast.acttionn); staartAActiivitty(iinte
36、ent);那么所有有的 AActiion 列表中中包含了了“cn.itccastt”的 Acctivvityy 都将将会匹配配成功。Andrroidd 预定定义了一一系列的的 Acctioon 分分别表示示特定的的系统动动作。这这些 AActiion 通过常常量的方方式定义义在 aandrroidd.coonteent. Inntennt中,以“ACTTIONN_”开头。我们可可以在 Anddroiid 提提供的文文档中找找到它们们的详细细说明。URI 数据匹匹配一个 IInteent 可以通通过 UURI 携带外外部数据据给目标标组件。在 节点中中,通过过 节节点匹配配外部数数据。mimee
37、Typpe 属属性指定定携带外外部数据据的数据据类型,sscheeme 指定协协议,hhostt、poort、patth 指指定数据据的位置置、端口口、和路路径。如如下: Inteent inttentt = neww Inntennt();inteent.settActtionn(Inntennt.AACTIION_CALLL);inseent.settDatta( Urii.paarsee(teel:1123445);starrtAccitiivtyy();电话的uuri ttel: 1223455 htttp:/m自己定义义的urri itccastt:/cn.itccastt/peer
38、soon/110如果在 Inttentt Fiilteer 中中指定了了这些属属性,那那么只有有所有的的属性都都匹配成成功时 URII 数据据匹配才才会成功功。Cateegorry 类类别匹配配节点中中可以为为组件定定义一个个 Caateggoryy 类别别列表,当当 Inntennt 中中包含这这个列表表的所有有项目时时 Caateggoryy 类别别匹配才才会成功功。默认是DDEFAAULTT19. Inttentt传递数数据时,可可以传递递哪些类类型数据据?1.一一般的基基本数据据类型 Inntennt .puttexttra() iinteent.gettexttra();Parsse
39、laablee Seeriaalizzablle2.数数据的uuri, inntennt.ssetDDataa() inttentt.geetDaata();20. 说说AActiivitty,IInteent,SServvicee是什么么关系 。麦当劳和和麦当娜娜的关系系是什么么关系?这种问问题,就就讲下aactiivitty, 讲讲一下sservvicee ,说说一下 通过iinteent去去激活组组件,传传递数据据.说自己项项目中有有这样一一个网络络更新的的功能,显示界界面就用用的acctivvityy, 后后台有个个serrvicce每隔隔半小时时都去访访问下服服务器获获取更新新的数据
40、据开启服务务用的是是inttentt来开启启21. 请描述述一下BBroaadcaast Recceivver。有很多广广播接收收者 ,系统已已经实现现了.广播分两两种 有有序广播播 无序广播播 指定接接收者的的有序广广播 . senndOrrderredBBroaadcaast(inttentt, reeceiiverrPerrmisssioon, ressulttRecceivver, scchedduleer, iniitiaalCoode, innitiialDDataa, innitiialEExtrras)接受者一一定会获获取到 广播的的事件 senddStiickyyBrooad
41、ccastt(inntennt) /阴魂不不散广播接受受者在oonReeceiive 方法获获取到广广播的事事件 Wifii设置 等待待wiffi状态态更新完完毕 是不不可以被被拦截掉掉的 -10000 - 110000 aboortBBroaadcaast(); 用于接接收系统统的广播播通知, 系统统会有很很多sdd卡挂载载,手机机重启,广播通通知,低低电量,来电,来短信信等. 手机卫卫士中自自定义一一个brroaddcasst rreceeiveer smms_rreceeiveed 来获取短短信到来来的广播播, 根根据黑名名单来判判断是否否拦截该该短信. 画画板板生成图图片后,发送一一个
42、sdd挂载的的通知,通知系系统的ggallleryy去获取取到新的的图片.Inteent inttentt = neww Inntennt(IInteent.ACTTIONN_MEEDIAA_MOOUNTTED,Urii.paarsee(fiile:/+Ennvirronmmentt.geetExxterrnallStooraggeDiirecctorry();senddBrooadccastt(inntennt);22. 在maaniffestt和代码码中如何何注册和和使 用用 brroaddcasst rreceeiveer 。设置广广播接收收者的优优先级,设置广广播接受受者的aactii
43、on名名字 等等详细见工工程代码码. 可以通过过代码 rregiisteerReeceiiverr(reeceiiverr, fiilteer)请介绍下下ConntenntPrroviiderr是如何何实现数数据共享享的。ConttenttProovidder 可以屏屏蔽数据据操作的的细节 文件 xmll MyCoonteentPProvvideer 可可以在不不同应用用程序之之间共享享数据 shhareedprrefeerennce db把自己的的数据通通过urri的形形式共享享出去andrroidd 系系统下 不同程程序 数数据默认认是不能能共享访访问 需要去去实现一一个类去去继承CCon
44、ttenttProovidderpubllic claass PerrsonnConntenntPrroviiderr exxtennds ConntenntPrroviiderrpubblicc boooleean onCCreaate()/.querry(UUri, Sttrinng, SStriing, Sttrinng, SStriing)inseert(Urii, CConttenttValluess)updaate(Urii, CConttenttValluess, SStriing, Sttrinng)deleete(Urii, SStriing, Sttrinng)联系人的的信
45、息 smss的内容容 coonteent:/ssms/24. 请介绍绍下Anndrooid的的数据存存储方式式。 文件 访问问权限. SSdcaard /包名名 oopennFilleOuutpuut(nnamee, moode) 数据库库 sqqlitte SharredPPreffereencee /shhareed_pprepps mmodee XMML网络 socckett tccp uudp , hhttpp htttpuurlcconnnecttionn fftp 25. 为什么么要用CConttenttProovidder?它和ssql的的实现上上有什么么差别?屏蔽数数据存储储的
46、细节节,对用用户透明明,用户户只需要要关心操操作数据据的urri就可可以了 不同aapp之之间共享享,操作作数据Sql也也有增删删改查的的方法. 但是cconttenttproovidder 还可以以去增删删改查本本地文件件. xxml文文件的读读取,更更改,网络数据据读取更更改 26. 请介绍绍下Anndrooid中中常用的的五种布布局。 FraameLLayoout(帧帧布局),LLineearLLayoout (线性性布局),AAbsoolutteLaayouut(绝绝对布局局),RRelaativveLaayouut(相相对布局局),TTablleLaayouut(表表格布局局) FF
47、rammeLaayouut 从屏幕幕的左上上角开始始布局,叠加显显示, 实际应应用 播播放器的的暂停按按钮. LLineearLLayoout线性布局局,这个个东西,从从外框上上可以理理解为一一个diiv,他他首先是是一个一一个从上上往下罗罗列在屏屏幕上。每一个个LinnearrLayyoutt里面又又可分为为垂直布布局(anddroiid:oorieentaatioon=verrticcal)和水水平布局局(anndrooid:oriienttatiion=hoorizzonttal )。当垂垂直布局局时,每每一行就就只有一一个元素素,多个个元素依依次垂直直往下;水平布布局时,只只有一行行,
48、每一一个元素素依次向向右排列列。AbsoolutteLaayouut绝对布局局犹如ddiv指指定了aabsoolutte属性性,用XX,Y坐坐标来指指定元素素的位置置anddroiid:llayoout_x=20ppx viiew andrroidd:laayouut_yy=112pxx ffwvgga 8854*4800apkk qq斗地地主 qqq游戏戏大厅 8000*4880 8800*4800.appk fwvvga 8554*4480 指定平板板机型的的游戏开开发中经经常用到到绝对布布局 widdgett 绝对对布局 指定机型型的平板板游戏开开发. 2.33 3.0界面布局局 任任务
49、管理理器 ggriddvieew 手机 任任务管理理 liistvvieww lephhonee lepaad ReelattiveeLayyoutt 相对布布局可以以理解为为某一个个元素为为参照物物,来定定位的布布局方式式。主要要属性有有: 相对对于某一一个元素素 anddroiid:llayoout_bellow=iid/aaaa 该元元素在 id为为aaaa的下面面 anddroiid:llayoout_toLLefttOf=iid/bbbb 改元元素的左左边是bbbb 相对对于父元元素的地地方 anndrooid:layyoutt_allignnParrenttLefft=truue
50、在父父元素左左对齐andrroidd:laayouut_aaliggnPaarenntRiightt=ttruee 在在父元素素右对齐齐Andrroidd ooa客户户端. TablleLaayouut 表格布局局类似HHtmll里面的的Tabble。每一个个TabbleLLayoout里里面有表表格行TTablleRoow,TTablleRoow里面面可以具具体定义义每一个个元素,设设定他的的对齐方方式 aandrroidd:grraviity= 。每一个布布局都有有自己适适合的方方式,另另外,这这五个布布局元素素可以相相互嵌套套应用,做做出美观观的界面面。oa 自动化化 生成成报表 ,图标
51、标 表示示 webbvieew css divv webvvieww 27. 谈谈UUI中, Padddinng和MMarggin有有什么区区别?Padddingg 文字字对边框框, mmarggin是是控件对对父窗体体.Padddingg 盒子子里面的的内容距距离盒子子的距离离 , marrginn 盒子子与盒子子之间的的距离 28. widdgett相对位位置的完完成在aactiivitty的哪哪个生命命周期阶阶段实现现。 这个题题没看懂懂widgget可可以理解解成桌面面小控件件, oonReeceiive();也可以理理解成 某个bbuttton, immageevieew这样样的控件
52、件onmeeasuure() / 计计算 控控件在屏屏幕上的的位子 某个viiew 要显示示在界面面 oondrraw 被显示示到界面面上的 .29. 请解释释下在单单线程模模型中MMesssagee、Haandller、Messsagge QQueuue、LLoopper之之间的关关系。30. AIDDL的全全称是什什么?如如何工作作?Andrroidd innterrfacce ddefiinittionn laanguuagee (aandrroidd接口定定义语言言) , 用来来跨进程程的访问问方法,访问远程程的服务务的方法法. 如如何工作作 daay7 queerySStuddent
53、t . 手机卫士士 Itteleephoony 接口挂挂断电话话. 31. 请解释释下Anndrooid程程序运行行时权限限与文件件系统权权限的区区别。Andrroidd程序执执行需要要读取到到安全敏敏感项必必需在aandrroiddmannifeest.xmll中声明明相关权权限请求求, 打打电话,访问网网络,获获取坐标标,读写写sd卡卡,读写写联系人人等.安装的的时候会会提示用用户文件系统统的权限限是liinuxx权限. 比如如说shhareedprrefeerennce里里面的CConttextt.Moode.priivatte Conntexxt.MModee.woorldd_reea
54、d_ablle Coonteext.Modde_wworlld_wwritteabble drrwx777自自己 同同组 其其他32. 系统上上安装了了多种浏浏览器,能能否指定定某浏览览器访问问指定页页面? 找到对对应的浏浏览器的的意图,传递数数据URRI , 激活活这个意意图 Inttentt inntennt = neew IInteent(); inttentt.seetCllasssNamme(ppackkageeNamme, claassNNamee); staartAActiivtyy(inntennt);33. 对anndrooid主主线程的的运用和和理解。主ui线线程不能能执行
55、耗耗时的操操作, 34. 对anndrooid虚虚拟机的的理解,包包括内存存管理机机制垃圾圾回收机机制。虚拟机很很小,空空间很小小,谈谈谈移动设设备的虚虚拟机的的大小限限制 116M ,谈谈加载载图片的的时候怎怎么处理理大图片片的,(BittmappFacctorry.ooptiionss)outmmemooryEExceeptiion BitmmapFFacttoryy.opptioon 垃圾回收收,没有有引用的的对象,在某个个时刻会会被系统统gc掉掉.什么是软软引用?将一些些资源保保存到内内存里面面,当内内存不足足的时候候,系统统会清理理部分资资源。可以结合合使用软软引用和和外部文文件缓存
56、存机制。35. Fraamewworkk工作方方式及原原理,AActiivitty是如如何生成成一个vvieww的,机机制是什什么。反射 , 配置置文件 可以讲下下acttiviity的的源码,比如说说 每个个acttiviity里里面都有有winndoww.caallbbackk和keeyevventt.caallbbackk,一些些回调的的接口或或者函数数吧. 框架把把acttiviity创创建出来来就会调调用里面面的这些些回调方方法,会会调用aactiivitty生命命周期相相关的方方法.Actiivitty创建建一个vvieww是通过过 onndraaw 画画出来的的, 画画这个vvi
57、eww之前呢呢,还会会调用oonmeeasuure方方法来计计算显示示的大小小.36. anndrooid本本身的一一些限制制,比如如apkk包大小小限制,读读取大文文件时的的时间限限 这个问问题问的的有问题题, aapk包包大小限限制不好好说, 极品飞车车有1000M 还是能能装到手手机上,世面goooglle mmarkket 上大程程序 主程序序 很小小 510MM 下载载sdccardd2003000M 15分钟钟之内 申请退退款 apk包包,精简简包, 素材存存放在服服务器. 游戏戏程序.读大文件件的时间间限制应应该是mmainn线程里里面的时时间限制制吧.55秒.37. 如何加加载
58、的音音乐信息息,如何何改善其其效率。Andrroidd提供meediaascaanneer,mmediiaSttoree等接口口, 音音乐文件件的信息息都会存存放到系系统的数数据库表表中,可可以通过过conntennt pprovvideer获取取,显示出来来,改善善效率,是个常常见问题题, 可可以从以以下几个个方面作作答,分批加载载数据, 延时加载载数据, 合理使用用缓存等等.38. LisstViiew如如何提高高其效率率?1.复用用connverrtviiew , 历历史的vvieww对象if(cconvverttVieew=nulll)vieww = infflatter.inffla
59、tte(RR.laayouut.nnotee_ittem, nuull);elssevieww = connverrtViiew;3.异步步加载数数据, 分页加加载数据据,2.使用用静态的的vieew对象象避免创创建过多多的viiew.Stattic Classs VViewwHollderrTexxtviiew tv;目的:减减少使用用finndViiewBByIdd()方方法。这这个需要要检索时时间。39. 启动应应用后,改改变系统统语言,应应用的语语言会改改变么?当你的应应用使用用了国际际化,才才会发生生改变。40. 启动一一个程序序,可以以主界面面点击图图标进入入,也可可以从一一个程序
60、序中跳转转过去,二二者有什什么区别别? 区别是是根据aactiivitty在mmaniifesst里面面的配置置,这个个acttiviity可可能会放放在不同同的taask栈栈里面inteent设设置的fflagg fflagg_neew_ttaskk 通过点击击 图标标进入应应用 创创建了新新的任务务栈 41. Anddroiid程序序与Jaava程程序的区区别?Andrroidd程序用用anddroiid ssdk开开发,jjavaa程序用用javvasddk开发发.Andrroidd SDDK引用用了大部部分的JJavaa SDDK,少少数部分分被Anndrooid SDKK抛弃,比比如
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 硫酸厂大修安全培训课件
- 职场有效沟通的技巧与方法
- 市政道路施工质量管理流程讲解
- 建筑工程项目监理管理手册
- 建筑工程竣工验收规范操作指南
- 创新创业教育课程设计指南
- 五年级数学期末考试复习资料汇编
- 2026年高考新课标一卷政治试题解析及答案
- 2026年兰溪市消防救援大队面向社会公开招聘劳务派遣工作人员的备考题库及参考答案详解1套
- 2026年中建材物资有限公司招聘备考题库及答案详解参考
- 2026年1月1日起施行的《兵役登记工作规定》学习与解读
- GB/T 46831-2025塑料聚丙烯(PP)等规指数的测定低分辨率核磁共振波谱法
- 2025榆林市旅游投资集团有限公司招聘(15人)参考笔试题库及答案解析
- 2025福建三明市总工会三明市工人文化宫招聘工作人1人参考题库带答案解析
- 学堂在线 雨课堂 学堂云 批判性思维-方法和实践 章节测试答案
- 2025年国家开放大学《公共经济学》期末考试备考试题及答案解析
- AQ 1119-2023 煤矿井下人员定位系统技术条件
- 不同GMP法规间的区别
- 动火作业票填写模板
- 单线铁路隧道毕业设计计算书(72页)
- 二甲基亚砜化学品安全技术说明书
评论
0/150
提交评论