Android移动应用试题一.选择题(2’X12)1.下面哪一个不属于Android体系结构中的应用程序层A.电话簿B.日历C.SQLiteD.SMS程序2.下面哪种说法不正确A.Android应用的gen目录下的R.java被删除后还能自动生成;B.res目录是一个特殊目录,包含了应用程序的全部资源,命名规则可以支持数字(0-9)下横线(_),大小写字母(a-z,A-Z);C.AndroidManifest.xml文件是每个Android项目必须有的,是项目应用的全局描述。其中指定程序的包名(package=”…”)+指定android应用的某个组件的名字(android:name=”…”)组成了该组件类的完整路径D.assets和res目录都能存放资源文件,但是与res不同的是assets支持任意深度的子目录,在它里面的文件不会在R.java里生成任何资源ID3.在一个相对布局中怎样使一个控件居中A.android:gravity=centerB.android:layout_gravity=centerC.android:layout_centerInParent=trueD.android:scaleType=center4.下面是一段生成对话框的代码,哪一行有错误?Builderbuilder=newBuilder(getApplicationContext());1builder.setTitle(提示).setMessage(请选择);2builder.setPositiveButton(重置,newOnClickListener()3{4publicvoidonClick(DialogInterfacedialog,intwhich)5{6Log.i(log,重置被按了!);7}8});9builder.setNegativeButton(取消,null);10builder.setNeutralButton(确定,newOnClickListener()11{12publicvoidonClick(DialogInterfacedialog,intwhich)13{14Toast.makeText(getApplicationContext(),确定被按了!,15Toast.LENGTH_SHORT).show();16}17});18builder.create().show();19A.第1行B.第10行C.第15行D.第19行5.关于Android事件机制与事件监听,下列说法不正确的有i.View类里的eventlistener是一个带有回调方法的接口,当UI里的组建是被用户触发时,这些方法会被系统框架所调用ii.来自View.OnClickListener,当点击这个Item(在触摸模式),或者当光标聚集在这个Item上时按下“确认”键,导航键,或者轨迹球,它会被调用。iii.来自View.OnLongClickListener,当长按这个Item(在触摸模式),或者当光标聚集在这个Item上时长按“确认”键,导航键,或者轨迹球,它会被调用。iv.来自View.OnFocusChangeListener,当手移到或离开这个Item,它会被调用v.来自View.OnKeyListener,当光标移到这个Item,按下和释放一个按键的时候,它会被调用vi.来自View.OnTouchListener,在这个Item的范围内触摸的时候,它会被调用vii.来自View.OnCreateContextMenuListener,当上下文菜单被建立时,只需短按一下,它会被调用,A.iB.iiiivviiC.iiivviviiD.vii6.setOnTouchEvent设置返回值为true和false有何区别?A.没有区别,都能对事件进行监听B.设置为true时只能在移动时获得一次监听事件,false则可以多次C.返回true表示这个消息已经被处理结束,后续的handler不再接收到这个消息D.设置为false是,在处理一次监听事件后,系统将抛弃该次事件7.下列说法哪个不正确A.拥有android:configChanges=orientation|keyboardHidden标签的Activity在横竖屏转换时不会再执行onCreate方法B.默认情况下对一个Activity的对象进行横竖屏切换,该对象的onCreate方法在每次切换时都会执行C.一个Activity的对象a1上弹出了一个模拟对话框形式的Activity的对象a2,按返回键后a1执行了onStart和onResume方法,a2执行了onPause,onStop和onDestroy方法D.一个界面上的EditText中输入文字后,再按下Home,该界面消失,等再回到该界面文字内容仍在,onCreate方法也不会执行8.E/AndroidRuntime(1099):java.lang.RuntimeException:UnabletoinstantiateactivityComponentInfo{com.test/com.test.CanvasActivitys}:java.lang.ClassNotFoundException:com.test.CanvasActivitysinloaderdalvik.system.PathClassLoader[/data/app/com.test-1.apk]这段话是程序报错在LogCat中产生的记录,从中可以分析问题的原因可能在哪里?A.程序执行CanvasActivitys的一个代码段时一个View有引用无对象B.CanvasActivitys类没有在AndroidManifest中正确申明C.最小SDK支持版本号比运行这个程序的设备版本号还高D.CanvasActivitys是一个Activity,但没有重写它的onCreate方法9.下列说法错误的是A.Intent起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦B.Intent可以传递View对象C.对于直接Intent,Android不需要去做解析,因为目标组件已经很明确,Android需要解析的是那些间接Intent,通过解析,将Intent映射给可以处理此Intent的Activity、IntentReceiver或ServiceD.通过Intent可以删除程序10.?xmlversion=1.0encoding=utf-8?shapexmlns:android=:shape=linestrokeandroid:color=@color/grayandroid:dashWidth=5dpandroid:dashGap=3dp//shape这是一个资源配置文件,下面描述正确的是?A.这个shape文件是画一个宽为5dp,高为3dp的色块B.这个shape文件是画一个宽从5dp到3dp的等腰梯形C.这个shape文件是画一个底为5dp高为3dp的等腰三角形D.这个shape文件是画一条虚线,实线段5dp,间隔3dp11.下列关于Service的描述,正确的是()A.Servie主要负责一些耗时比较长的操作,这说明Service会运行在独立的子线程中B.每次调用Context类中的StartService()方法后都会新建一个Service实例C.每次启动一个服务时候都会先后调用onCreate()和onStart()方法D.当调用了ConText类中的StopService()方法后,Serviece中的onDestroy()方法会自动回调12.通过SurfaceView对象得到SurfaceHolder对象holder,调用holder的addCallback()方法,在匿名内部类中的onCreat()方法中的代码如下:Paintpaint=newPaint();paint.setColor(Color.Red);Canvascanvas=holder.lockCanvas();canvas.drawRect(0,0,360,480,paint);holder.unlockCanvasAndPost(canvas);holder.lockCanvas(newRect(0,0,250,250));holder.unlockCanvasAndPost(canvas);holder.lockCanvas(newRect(0,0,200,200));holder.unlockCanvasAndPost(canvas);holder.lockCanvas(newRect(0,0,150,150));holder.unlockCanvasAndPost(canvas);holder.lockCanvas(newRect(0,0,100,100));holder.unlockCanvasAndPost(canvas);最后显示的图形是:A.B.C.D.二判断题(对/错)(2’X10)1.一个Activity就是一个可视化的界面或者看成是控件的容器。√2.Intent有很长的生命周期,是没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失×3.onPause()方法在activity被暂停或收回cpu和其他资源时调用,该方法用于保存活动状态的,也是对运行时数据的现场保护。√4.onDestroy是activity被干掉前最后一个被调用方法,当调用finish方法或者系统为了节省空间将它暂时性的干掉时候调用。√5.如果service已经启动,再次启动该服务时将先后调用onCreate()和onStartCommand()方法×6.使用startService()方法启动服务后,调用者和服务间没有关联,即使调用者退出了,服务任然进行√7.当应用程序中某广播在AndroidMainifest进行注册后,即使该应用程序关闭后,也可以接受操作系统发出的广播信息√8.当Antivity的启动模式设置为SingleTop表示当该Anctivity的实例在栈顶时只会产生一个实例。√9.关于res/raw目录是会转换为二进制的格式然后原封不动的存储到设备上×10.UIthread通常就是mainthread,Android启动程序时会替它建立一个MessageQueue√三问答题(10’X3)1.Handler的运行机制什么是Handler(5分)iiHandler是怎么运行的(5分)2.Activity,intent、Service和BroadCastReceiver之间是什么关系Activity、Intent、Service、BroadCastReceiver的概念(每个1.5分),一个应用程序怎么去利用他们(每个1分)3.android中常用的数据存储方式和怎样去实现这些存储方式常用的数据存储方式:SharePreference存储、File存储(分为手机内存存储和SD卡存储)、SQLite数据库存储和网络存储。(每个1.5分)怎样去实现这些存储(每个1分)四编程题(10’+12’)所有编程题编写完毕执行一下clean操作把工程文件复制到project文件夹下1.编写一个小程序,可以显示实时时间,按返回时有弹出对话框提示是否退出程序,按确认后退出程序。提示:自建一个工程,包名:com.test.姓名拼音.exercise12.写一个每隔20秒自动更换桌面背景的小程序。提示:自建一个工程,包名:com.test.姓名拼音.exercise2,考虑使用service执行更换桌面,间隔控制使用AlarmManager类androidmanifest须加入权限:uses-permissionandroid:name=android.permission.SET_WALLPAPER/设