安卓移动开发简答题 程序.docx
安卓简答+程序题1、请传述AndrOidADT(见23)答tADT,是AndrO1.dDeve1.opmentTooIKit的编耳.表示开发工具包.是Ed1.PSe的一个Ie件,用于快速创立Android工程、用户界面和基于AndroidAP1.的担件.(3,)ADT可以在Ec1.ipse中入其下就地址进展安装.在Ec1.ipse中单独安装ADT插件的方法是运用菜单“He1.p-Irwta1.1.NewSoftware”(1,M2,)在Ec1.ipse的首选项中,只有安装了ADT,才会出现做Android应用开发的选项Android*(Er)2、请简述AndrOidSDK(见23)答:AndroidSDK(SoftwareDeve1.opmentKit),表示Android软件开发包,是Android整体开发中所用到的工具包,供应了“文件以及其他开发所用到的工具.假如在Ec1.ipse中不关联AndroidSDK.那么无法开发Android应用程序.(2,)在Edipse中运用AndroidSDK供应的工具可以进展程序提试或对.apk文件进及签名等.AndroidAPI是AndroidSDK的主体.(1,)AndroidSDK书目包含的子书目中bui1.d-too1.s包含了Android应用的译工具:p1.atforms:存放AndrOidSDKPIatfOrmS平台相关的文件;add-ons存放AndrOid的犷jftj%sources,存放AndrOidAP1.的M码;PIatformT。ISt存放平台工具too1.s包含了用于掾作SQute数据阵的程序、模报叁管理程序、对Android应用程序进展调试和模拟效劳的批处理程序等工具.(233、请简述AndroidAVD(见29)答rAVD(androidvirtua1.device),表示AndrOid虚拟设务印模KuOh是AndroidSDK供应的要工具之一,用于在没有物理设备的状况下,在计尊机上对Android程序进爱开发、调试和仿真.(3')AVD可以通过ECIiPSe菜单中Windows-*AndroidAVDManagerfnew创立,通过AndroidAVDManager-start启动.()在AndrOid应用工程名的的快It菜单中.选舞eRunAs*AndroidApp1.ication*可将工程部署到AVD并运行.()4、请简述“118Ir警传性情银(35)答,I18n是EI际化(IntematiOnaIiZation)的简彝,国际化是指在设计软件时,将软件与辑定语盲及地区脱佝的过程.(2318n“瞽告性脩谀在程序的写法不符合国际化做法的时候发生.(1,)如文本楫控件值的引用要通过引用字符串的交,的方法耒实现(如<TextV1.ew.android:text=*string/he11.o_wor1.d*/>)这是符合国际化的做法,假如不通过引用字符串的交的方法,而干用字符申常,代(如<TextViewandroidXext=字符串*/>)那么不符合国际化做法,会导致黄色的惠N(235、请传述Activity组件与视图View(46、60)答IActivity是安卓重聂的Ifi件,负责用户界面的设计,Activity用户界面取采纳MVC模式(mode1.viewcontro1.1.er).()限制IS员贵承受并嘀应程序的外部动作;通过1»图来反应应用程序给用户的信息(通常是屏开信息反应)I模型是应用程序的核心,用于保存数据和代码.()Android姐件在清*文件中运用activity>注册.Activity坦件出tIntent对象激活.(1,)Activity作为用户界面,供应了一些根本方法,如设内的I图方法setContentView()、找控件方法findViewBy1.d()、关闭当前窗口方法finish()等.(1,)AaMtY的一些扩展方法包括,用于数据共享存储的SetPreference0方法、用于动态加页面布局的get1.ay。Wnf1.ater()方法,开场后台效劳的StartSerViCe()方法、发送指送的SendBroadCaSt()方法、获得程序间数据共享的内容解析暑的getContentRes。IVer()媚等.(1')每个ACtiVity除了有创立OnCreat()、WRonDestroy()两个根本方法外,还有停onStop()、激活OnStart()、讨停OnPaUSe()、»OnResume()等方法(1')Activity在其生命周期有三种状态:运行态、看停态和停顿态.运行袤是指Activity出现在屏事的上层的状态,此时用户通常可以获得焦点Ie停在是指ACtiVity调用。nPause0方法后出现的状态,其上还有处于运行本的ACtiVity存在,井且ACtiVity没有被完全遮住,即处于看停态的Activity有一局部线图被用户所见;停事态是指当前Activity调用OnStop0方法后出现的状态,此时它完全被处于运行杳的ACtiVity遮拦住,即用户界面完全不被用户所见.6、请简述Service姐件(46/171)(何不了啊姆姆)答;Service效劳类姐件是Android供应的无用户界面、长时间在后台运行的烟件.Android!&件在清单文件中运用(service注JRService蛆件遢过Intent对象激活.Service有利于降低景观费M的刑%而且比ACtiVity有更高的优先税.SeMee效劳的调用分为星式启动和(式启动.显式启动是指在创立Intent对象时,指明SerViCe所在的类,并雷用方法StartSerViCe(intent)启动SerViCe式Q动是指在注JBService的同时.内嵌标签1.ntent-fi1.ter及action,action标签的android:name属性指定了引用该效劳的名称式启动的好处是不31要指明31JI启动一个Activity,而由Android系统依据Intent的动作和数来确定,这样有利于阐SAndroid金件之间的箱合度,强,Android蛆件的可复用性.假设SerViCe与调用它的坦件在同一个应用程序中,那么厩可以运用显式启动,也可以运用Ia式启动(显式启动代码管油)I假设效劳和H用效劳的忸件在不同的应用程序中,那么效劳只能用式启动方式SerViCe有StartSerViCe()的非第定JB动方式和bindService()的绑定启动方式两冷Service的两种启动方式一、采的Start开启效劳运用Service的步*(1).定义一个类承Service(3) .运用Context的StartSerViCe(Intent)方法启动该Service(4) .不再运用时,调用StoPSerViCa1.ntent)方法停该效劳运用这种start方如动的Service的生命周期如下,onCreate()->onStartCommand()(OnStart()方法已过时)->onDestory()说明,假如效劳已®开启,不会复的执行onCreate(),而是会讨用OnStart()和onStartCommand().效劳停事的时候“用OnDeStory()效劳只会被停银一次特点:一旦效劳开启麋11用者(开启者)就没有任何关系了.开启者退出了,开启者挂了.效劳还在后台长期的运行.开启者不能调用效劳里面的方法.二、采纳bind的方式开启效劳运用Service的步(1).定义一个类鲤承SeMCe(3).JgContext的b1.ndServ1.ce(1.ntent,ServIceConnection,Service(,不再运用时,调用UnbindSerViCe(SerViCeCOnneetion)方法停该效劳运用这种bind方式启动的Service的生命周期如下onCreate()一>onBind()一>onunbind()->onDestoryOV*绑定效劳不会用OnStart()Je者OnStartCOmmand()方法格点;bind的方式开启效劳,绑定效劳,安用者挂了.效劳也会限着控掉.绑定者可以调用效劳里面的方法.效劳的整个生命周期从辑用onCreate()开场起,到onDestroy()返回时完毕.与Activity类似,效劳也在OnCreateo中完成初始设,井在MDeStrOyo中狎放全部嘉余无论效劳是通过StartServiceO还是bindServke()创立,事会为全部效劳用OnCreate()和onDcstroy()方法效劳的有效生命周期从调用OnStanCOmmand。或OnBind()方法开场.每料方法均有Intent对象,该对象分别传递到StartSerV1.Ce()JebindService().对于启动效劳,有效生命周期与蔓个生命周期同时完毕(即便是在OnStartCommS1.nd()返回之后,效劳仍旧处于活动状方)对于绑定效劳,有效生命周期在OnUnbindo返回时完毕.启动效劳该效劳在其他蛆件调用StartSerViCeO时创立,At后无跟期运行,且必通过调用StOPSdf()未自行停运行此外,其他Ia件也可以通过用StopServiceO来停效劳.效劳停后,会将其铜毁.绑定效劳该效劳在另一Mfi件(客户)A1.用b1.ndServ1.ce()时创立.然后,客户通过IBinder接口与效劳进JN值.客户可以通过置用UnbindScrviceO关闭连接.多个客户可以绑定到一样效劳,而且当全都“定全部取满后.系跳卬会*或该效劳.(效劳不必自行停运行)CnSISftCOmnWXJDo11BindServicerunningC1.ientssrboundtoMndCeTheSerVceisshoppedbyii8e*<acientAndk11tsunt>ndACaBnQunbrnoSerwceOU11ttnd(kr>>inddSrVioeBounddservice7、请倚述BroadcastReceiver姐件(46、191)答:BroadcastReceiver,即播送接收者,用来接收来自系线或其它应用程序的播送,并作出回应.播送接收者蛆件没有U1.界面.(2,)在Android应用中,播送接收者类运用标签receiver在清单文件中注册,为伸杳注册方式,只修具有相应权限的播送接收者才能接收指送、获得Intent对年中的敷据.动态注册是在程序中遢过运用ConteXt类供应的方法regKterRece1.ver()完成的.(2,)创立播送接收者的方法有两种,一是标准的类域承方法,二是通过向导创立播送接收*.(HBroadcastRcce1.verIfi件通过Intent对象激活.一个BroadcastRecciver的生命周期从辑用OnReceiver(Context,Intent)方法开场,到该方法返回完毕(1')8、请倚述ContentProvideri£1.件(46、251)答,ContentProVider(内容供应者)是AndroidjK统中不同应用程序之间共享数据的按口,用于保存和检索数据.运用ContentProVider访问某个应用程序的数存,不必关切其数据的存储方式,其他应用程序可以通过一个ContcntProvIder类型的对象来掾作某个程序的数据.(力Android应用开发者将自己的长久化敷福公开给其他应用程序有两种方法:一是定义自己的ContentProvider子类,在清单文件里运用pr。Vide。标签注册,并实现CRUD(增i11(Create),读取查i1.hRetrieve)、更IJ(Update)和除(DeIete)I二是将当Iutt用程序的数据添加到已有的COntentPrOVider中.(2')姐件ContentProvider的四个CRUD方法的第一方法我敢均为Uri类型.创立ContentProvider子类时.(provider标签中name为必填属性.表示ContentProvIder子类的名称IaUthOrMeS也是必填I1.性,表示其他应用程序访问该ContentProVider时的路径IPermiSSion是任选J1.性,用于对本应用供应的数据访问的限定,者略Perm1.SSIOn属性时,表示任何应用都可以访问本应用供应的数据.(V)9、请简述3:图对象intent(47)答:Intent,意图、准善,用于对某个掾作的抽象描述,包括动作名称、掇作敷捐以及附加数据的描述.在AndroW中,通过Intent对象实现坦件之间相互调用的相关值息.意图类Intent在Android程序设计中起纽带作用,负责传递信息和数据.(1。Androidif1.件调用时,Intent除了封装意图名称,还封装了一裁方法,主要包括构造方法、存放附加敷方法、获得效方法和设置JI1.性方法等.(V)Intent显式调用是通过运用显式意图明确要激活的蛆件,其方法是建过Intent供应的方法SetQaSS()、SetCIassName()或SetCOEPonent()来指定的.(1')Intentit式说用须要在清单文件中运用标签intentf11ter(意图过诩»)来指定动作名稼(V)式意图就是在JtBH激活ACtiVity、SerViCe或BrOadCaStReCeiVer这三类烟件时,不须要显式指出蛆件的名称,而是指定action及category,Android系统会依据其特在找到相应的姐件并激活.延其意图类Pending1.ntentTft用在Notification上,可以理解为延期执行的Intent,是对Intent的一个包装()10、请简述AID1.(185)答tAID1.(androidinterfacedefinition1.anguage)是AndrOid自定义的接口描述语言,可以简化进程间数据格式转换和数据交换的代码,通过定义SerViCe内部的共有方法,允许在不同进程的调用者和Service之间相互传递数1.g(2,)AID1.允许定义函数套数的传递方向,有三种方向,标飒为In的分数将从用者传递到IS程效劳中,标识为。Ut的)我将从远程效劳传递到员用者中,标识为inout的敏先从调用者传递到远程效劳中,再从远程效劳返回到,用者.(23运用AID1.再进程安用(远程效劳)的效劳»开发,其主鬟步如下,(1) .创立接口描述文件I(2) Jt立一个效劳类(SerViCe的子类)并实现接口;.在SerViCe的绑定方法OnBind(Intent)里返回实现了接口的实例对象(4) .在清单文件中注册AID1.对应的效劳.运用AID1.旃进程员用(远程效劳)的客户开发,其主襄步如下:(1) .创立与效劳叁一样的接口描述文件I(2) .在主ACtiVity中,定义远程效劳连接对象,在其内创立远程效劳对量;(3) .在主Activity中运用绑定方式置用远程效劳.通过远程效劳对象=用远程效劳里的方法.(2J11、请简述SQ1.ite数据库的特点(218)答:SQUte数据座适合于设入式系统,占用费事少、运行高效、可移植性好、并且供应了零配量的运行模式,是Android手机自带(即内量)的轻级数据薛软件,供应了对数据京的地副改查等操作.(33SQ1.ite数据庠体系构造中量核心的局部是虚拟机,也称虚拟数据库引拿(virtua1.databaseengine,VDBE),用来说明字节代码,以完成对数据库的操作.(2,)12、请初述AndrOid移动开发与javaWeb开发的异同.(P5)答I相1之处,javaWeb开发中的用户界面U1.与Android中的用户界面AetiViw是平fifWd,)JavaWeb网站开发和Andro1.d都有U1.设计,()Android开发是java开发的一个分支,Android类库用了java中的局部常用类序(1,)相异之处:二者的工程文件构造有很大的差异I(V)上*局程度来说,AndrOid开发比javaWeb开发要IB洁IB洁许多I(V)13、请简述AndrO1.d系统架构(弁见P14)答:Anndroid是基于1.inUX内核的软件平台和掾作系姚,采纳了软件堆枚架构,共分为四层;UnUX内核层、Anndro1.d的数库及运行时层、应用程序梃架层和应用程序层.(2)1.inux内核是硬件和其他软件堆层之间的一个抽象R1.育层,供应由操作系或内核管理的底层根底功能,主襄有平安机制、内存管理、进程管理、网络伪议机和驱动程序等.Anndroid的数座及运行时是其次层,位于1.inux内犊之上,也稼中间件层.Anndroid运行时由核心席和Da1.vik虚拟机构成.核心常为开发人员供应了AndroidM疑的符有函数功能和JaVa语言的根本函数功能,Da1.vik虚拟机采纳适合内存和处理4»受限的专用格式.应用程序框架层供应了Android平台的管理功能和组件的重用机制,包括Activity管理、资源管理、位Jt管理、遢知消息管理、VieW系端和内容供应者等.Android的三大核心功能如下,(1) .View,供应了绘制图形,处理触摸、按务等功能;(2) .AetiViCyManagerSerVice:Ie称为AMS,主聂功能是管理全部应用程序的Activity»内存管理等,AMS作为一种系统或效劳管理全部ACtiVity,当操作(启动或停)某个ACtMty时,必需报告蛤AMS,而不能"擅自处ST,在内存缺乏时,AMS可能主动杀死后台的Activityi(3) .WindowManagerService1.简称WMS,主要功能是为全部应用程序安排窗口并管这些*口.应用程序层供应了一系列犊心应用程序,如打、朗读器、联系人、相易、地图和电子市场等.(3914、请何述ACtMtY的生命周期(64)AetiVity在其生命周期有三洋状蠡,运行而、讨停态和停杳(V)运行方是指AetiV1.ty出现在屏幕的最上层的状态,此时用户通常可以获得焦点I(V)停态是指Activity调用OnPaUSe。方法后出现的状衣,其上述有处于运行方的Activity存在,并且AetiVrty没有被完全遮住,即处于看停态的ACtiVity有一局部视图被用户所见;d,)停由是指当IrAetiVity调用onStop()方法后出现的状;6,此时它完全被处于运行森的ACtiVityit拦住,即用户界面完全不被用户所见.(V)15、请传述效劳的显示启动和式启动(175)Service效劳的M用分为显式启动和式启动.显式启动是指在创立Intent对加时,指明Service所在的类,并0用方法StartService(intent)启动SerViCe.(2,)式启动是指在注册SerViCe的同时,内嵌标筌1.ntentfi1.ter及action,action标景的android:name属性指定了引用该效劳的名称.(2,)一式启动的好处是不须襄指明须要启动粤Activity,而由Andro1.d系统依据Intent的动作和数据来确定,这样有利于降低Android蛆件之间的粗合度,裁I1.AndrOidia件的可现用性假设SerViCe与调用它的烟件在同一个应用程序中,那么既可以运用皇式启动,也可以运用*式启动(息式启动代码管洁)I假设效劳和调用效劳的姐件在不同的应用程序中,那么效劳只能用式启动方式.(”)程序(2程序填空2程序设计)AIertDiaIogP72绑定效劳方式P179播送注册P196SQ1.iteP2231.消息提示对话据AIertDiaIogP72黑:咒“S(Mta油做($午,绅e<(yd1.MM*Xte),5<t4n1,t1.¼<1.R.切t.Hf啊-"«*)>加|1.f1.f1.1.Jct|),¢4-.ICT0<pE:.d,"4_小也6),如|.火。优山24丁)“五卷叫'帅2WmMg.);"F中加一"4p-U<e,dcC4()心由01.氏Jr1.XqJmrWJU1.ZeIftcM*sef1.<*.(ft.(UwAkIe-0»蝎*勒方Mg。工有8t%t1.mdOKMA,三型W1.FTAiNyIW小木补杓卜):5心Gt刖Ig氏我E,再也洲);G*t2i,f-AUcIx叱.&;|电IfZMt:3/u,d"肉方必做,.谢】的(|2.cwai>fc.c.wcr)>必由.WZd“飞>1抬*>kUo.y"ta""至蝇4%It?)b1,的>ftPc'<.P-t>z(''4111.>v,Qi)fcv%>/sCiaU"八二-、>nC1.d护好呼Q吁、1呼)tJ人欣r.空生丝处皿生)"1.1.()fTit.mkM(从加出于也,"用1.泣"J,7”山臃丁)出13M女.C.产匕v"ChCae。与叼°血吁A70t.>n4*¼tIMAeV耳.侬:也俞n)bu,1.cU山WIY由“M-4*”QAUiD,R1.hUI出:儿&(的),1I.,,,.,,,C.1.G,W1'fa”,*jJ2吗。了,1."s<d叼比人儿.、(IttfM,./“一)X2、>;比叫一rU<3J(D声。,M抬“kNfoe(M.fkt;SydrJJMS1.UeAJ“(AgqJaJ)7MJ*"12E"61US叨MW1.“fMjQ"2udW柞£,,t(1.i-R<)r<)R(c.衣;McWM。”CS(DbWb1.*e。必F。,.”加力点力解)>);H,MsJ<"5'W'_-11*(M1.t1."Ske'蛇”)(;cRMMcAA1.n1.fM丁BWwU.Un:加PJM1.出,力“而,/所”做小2媳2.,工.PIa1.%+相IX*”呵加磁.5也舟CA泗-Iw>,.nu,晶")itM*F窿O1.CAj<eC1.,d1,5<*v(”vt>Sa*(D0炉EJ7而"卜,E吗”7ett.2Mk"&«埼出,i4s0说J3c*J小川-必1.r1.I1."怖豆3On1.以1.gCWgm÷"Mtoy'I温Qs,共2绑定效劳方式P179