Android移动应用试题(带答案).docx
《Android移动应用试题(带答案).docx》由会员分享,可在线阅读,更多相关《Android移动应用试题(带答案).docx(13页珍藏版)》请在冰豆网上搜索。
Android移动应用试题(带答案)
<>试题
一.选择题(2’X12)
1.下面哪一个不属于Android体系结构中的应用程序层
A.电话簿
B.日历
C.SQLite
D.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里生成任何资源ID
3.在一个相对布局中怎样使一个控件居中
A.android:
gravity="center"
B.android:
layout_gravity="center"
C.android:
layout_centerInParent="true"
D.android:
scaleType="center"
4.下面是一段生成对话框的代码,哪一行有错误?
Builderbuilder=newBuilder(getApplicationContext());1builder.setTitle("提示").setMessage("请选择");2
builder.setPositiveButton("重置",newOnClickListener()3
{4
publicvoidonClick(DialogInterfacedialog,intwhich)5
{6
Log.i("log","重置被按了!
");7
}8});9
builder.setNegativeButton("取消",null);10
builder.setNeutralButton("确定",newOnClickListener()11
{12
publicvoidonClick(DialogInterfacedialog,intwhich)13
{14
Toast.makeText(getApplicationContext(),"确定被按了!
",15
Toast.LENGTH_SHORT).show();16}17
});18
builder.create().show();19
A.第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.i
B.iiiivvii
C.iiivvivii
D.vii
6.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):
Unabletoinstantiateactivity
ComponentInfo{com.test/com.test.CanvasActivitys}:
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或Service
D.通过Intent可以删除程序
10.
<=""p=""xmlns:
android="
android:
shape="line">
android:
color="@color/gray"
android:
dashWidth="5dp"
android:
dashGap="3dp"/>
这是一个资源配置文件,下面描述正确的是?
A.这个shape文件是画一个宽为5dp,高为3dp的色块
B.这个shape文件是画一个宽从5dp到3dp的等腰梯形
C.这个shape文件是画一个底为5dp高为3dp的等腰三角形
D.这个shape文件是画一条虚线,实线段5dp,间隔3dp
11.下列关于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分)Handler是怎么运行的(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.姓名拼音.exercise1
2.写一个每隔20秒自动更换桌面背景的小程序。
提示:
自建一个工程,包名:
com.test.姓名拼音.exercise2,考虑使用service执行更换桌面,间隔控制使用AlarmManager类
androidmanifest须加入权限:
设置背景的方法参考:
privateint[]resIds=newint[]{R.drawable.p01,R.drawable.p02,R.drawable.p03};
InputStreaminputStream=getResources().openRawResource(resIds[0]);
try
{
setWallpaper(inputStream);
}catch(IOExceptione){
e.printStackTrace();
}
如有侵权请联系告知删除,感谢你们的配合!