Android移动应用试题(带答案)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

<<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项目必须有的,是项目应用的
全局描述。

其中指定程序的包名(pack age=”…”)+指定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.下面是一段生成对话框的代码,哪一行有错误?
Builder builder = new Builder(getApplicationContext()); 1
builder.setTitle("提示").setMessage("请选择"); 2
builder.setPositiveButton("重置", new OnClickListener()
3
{ 4
public void onClick(DialogInterface dialog, int which)
5
{ 6
Log.i("log", "重置被按了!"); 7
} 8
}); 9
builder.setNegativeButton("取消", null); 10
builder.setNeutralButton("确定", new OnClickListener()
11
{ 12
public void onClick(DialogInterface dialog, int which) 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类里的event listener是一个带有回调方法的接口,当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.i ii iv vii
C.iii v vi vii
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): ng.RuntimeException: Unable to
instantiate activity ComponentInfo{com.test/com.test.CanvasActivitys}: ng.ClassNotFoundException: com.test.CanvasActivitys in loader dalvik.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.<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="/apk/res/android"
android:shape="line">
<stroke
android:color="@color/gray"
android:dashWidth="5dp"
android:dashGap="3dp" />
</shape>
这是一个资源配置文件,下面描述正确的是?
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()方法中的代码如下:
Paint paint=new Paint();
paint.setColor(Color.Red);
Canvas canvas = holder.lockCanvas();
canvas.drawRect(0, 0, 360, 480, paint);
holder.unlockCanvasAndPost(canvas);
holder.lockCanvas(new Rect(0, 0, 250, 250));
holder.unlockCanvasAndPost(canvas);
holder.lockCanvas(new Rect(0, 0, 200, 200));
holder.unlockCanvasAndPost(canvas);
holder.lockCanvas(new Rect(0, 0, 150, 150));
holder.unlockCanvasAndPost(canvas);
holder.lockCanvas(new Rect(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 通常就是main thread,Android启动程序时会替它建立一个MessageQueue√
三问答题(10’X3)
1.Handler的运行机制
什么是Handler(5分) <ii>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须加入权限:
<uses-permission android:name="android.permission.SET_WALLPAPER" />
设置背景的方法参考:
private int[] resIds = new int[] {R.drawable.p01,R.drawable.p02,R.drawable.p03};
InputStream inputStream = getResources().openRawResource(resIds[0]); try
{
setWallpaper(inputStream);
} catch (IOException e){
e.printStackTrace();
}。

相关文档
最新文档