Android编程基础笔试题及答案20.docx
《Android编程基础笔试题及答案20.docx》由会员分享,可在线阅读,更多相关《Android编程基础笔试题及答案20.docx(11页珍藏版)》请在冰点文库上搜索。
Android编程基础笔试题及答案20
Android编程基础笔试题及答案20
题号
一
二
三
总分
合分人
得分
《Android编程基础》试卷A
注意事项:
1.本试卷共8页,满分100分;
2.请把学院、姓名、班级写到密封线内,考试时间90分钟;
3.请不要把答案写在密封线内
密封线内不要答题
学院班级姓名
得分
阅卷人
一、单选题(共35题,共61分)
1、D03MA057(2分)退出activity对一些资源以及状态的操作保存,可以在生命周期的哪个函数中进行a
A、onPause()B、onCreate()C、onResume()D、onStart()
2、D02MA058(2分)Android项目工程下面的assets目录的作用是什么b
A、放置应用到的图片资源。
Res/drawableB、主要放置一些文件资源,这些文件会被原封不动打包到apk里面
C、放置字符串,颜色,数组等常量数据res/valuesD、放置一些与UI相应的布局文件,都是xml文件res/layout
3、D04MA059(2分)下列不属于android布局的是(c)
B,使用onMenuItemSelected(intfeatureId,MenuItemitem)响应
C,使用onMenuItemClick(MenuItemitem)响应
D,使用onCreateOptionsMenu(Menumenu)响应
4、D13EA1074(1分)android中文件操作模式中表示只能被本应用使用,写入文件会覆盖的是_d__
A,MODE_APPENDB,MODE_WORLD_READABLE
C,MODE_WORLD_WRITEABLED,MODE_PRIVATE
5、D07MA2075(2分)进度条中哪个属性是设置进度条大小格式的_d_
A,android:
secondaryProgressB,android:
progress(设置值)C,android:
maxD,style
6、D07MA2076(2分)下列用以显示一系列图像的是_b_
A,ImageViewB,GalleryC,ImageSwitcherD,GridView
7、D06MA2077(2分)表示下拉列表的组件是_b__
A,GalleryB,SpinnerC,GridViewD,ListView
8、D12MA2078(2分)关于AlertDialog的说法不正确的是_a_
A,要想使用对话框首先要使用new关键字创建AlertDialog的实例
B,对话框的显示需要调用show方法
C,setPositiveButton方法是用来加确定按钮的
D,setNegativeButton方法是用来加取消按钮的
9、D05MA2079(2分)下列说法错误的是__d__
A,Button是普通按钮组件,除此外还有其他的按钮组件
B,TextView是显示文本的组件,TextView是EditText的父类
C,EditText是编辑文本的组件,可以使用EditText输入特定的字符
D,ImageView是显示图片的组件,可以通过设置显示局部图片
10、D19MA2080(2分)关于android中播放视频的说法不对的是_c__
A,可以使用SurfaceView组件播视频B,可以使用VideoView组件播视频
C,VideoView组件可以控制播放的位置和大小
D,VideoView播放视频的格式可以是3gp
11、D10MA2081(2分)下列哪个是SqlLite下的命令_c_
A,shellB,pushC,.quitD,keytool
12、D15EA1082(1分)下列关于如何使用Notification,不对的是_d_
A,notification需要NotificatinManager来管理
B,使用NotificationManager的notify方法显示notification消息
C,在显示Notification时可以设置通知时的默认发声,震动等
D,Notification中有方法可以清除消息
13、D19EA1083(1分)下列关于opencore说法不正确的是_b__
A,Opencore是Android多媒体框架的核心
B,MediaPlayer是openCore中的一个核心类
C,所有在Android平台的音频、视频的采集以及播放等操作都是通过它来实现的
D,在实现开发中我们并不会过多地研究opencore的实现,我们的Android为我们提供了上层的mediaapi的开发使用
14、D12EA1084(1分)上下文菜单与其他菜单不同的是_b_
A,上下文菜单项上的单击事件可以使用onMenuItemSelected方法来响应
B,上下文菜单必须注册到指定的view上才能显示
C,上下文菜单的菜单项可以添加,可以删除
D,上下文菜单的菜单项可以有子项
15、D07MA2085(2分)拖动条组件是_c_
A,RatingBarB,ProgressBarC,SeekBarD,ScrollBar
16、D13EA1086(1分)读取文件内容的首要方法是_d__
A,openFileOutputB,readC,writeD,openFileInput
17、D08EA1087(1分)关于隐式Intent正确的是_a_
A,android中使用IntentFilter来寻找与隐式Intent相关的对象
B,通过组件的名称寻找与intent相关联的对象
C,隐式Intent更多用于在应用程序内部传递消息
D,一个声明了IntentFilter的组件只能响应隐式Intent请求
18、D05MA2088(2分)多选框被选择事件通常用__b__
A,setOnClickListenerB,setOnCheckChangeListener
C,setOnMenuItemSelectedListenerD,setOnCheckedListener
19、D12EA1089(1分)自定义对话框时,将视图对象添加到当前对话框的方法是_d_
A,setIconB,setXMLC,setLayoutD,setView
20、D09MA2090(2分)下列不属于service生命周期的方法是_C_
A,onCreateB,onDestroyC,onStopD,onStart
21、D09MA2091(2分)绑定Service的方法是_a__
A,bindServiceB,startServiceC,onStartD,onBind
得分
阅卷人
二、多选题(共10题,共24分)
22、D08MB2092(2分)Intent传递数据时,下列的数据类型哪些可以被传递abcd
A、SerializableB、charsequenceC、ParcelableD、Bundle
23、D11DB4093(4分)1.android数据存储与访问的方式一下说法正确的是:
(abcde)
A、文件B、数据库C、sharedpreferenceD、内容提供者E、网络
24、D07DB4094(4分).下列可能会导致GC内存泄露的是:
abc
A.数据库的cursor没有关闭B.构造adapter时,没有使用缓存contentview
C.衍生listview的优化问题-----减少创建view的对象,充分使用contentview,可以使用一静态类来优化处理getview的过程activity一般会重载一些方法用来维护其生命周期,下列不输于相关方法的是D.使用sqlite数据库
25、D09MA2095(2分)android通过startService的方式开启服务,关于service生命周期的onCreate()和onStart()说法正确的是ad
A、当第一次启动的时候先后调用onCreate()和onStart()方法
B、当第一次启动的时候只会调用onCreate()方法
C、如果service已经启动,将先后调用onCreate()和onStart()方法
D、如果service已经启动,只会执行onStart()方法,不在执行onCreate()方法
26、D02MB2096(2分)开发android程序需要的开发工具和开发包包括abcd
A,JDKB,EclipseC,AndroidSDKD,ADTE,Raw
27、D18MB2097(2分)下列属于补间动画相关类的是_acd__
A,TranslateAnimationB,FrameAnimation
C,RotateAnimationD,AlphaAnimation
28、D13MB2098(2分)下列哪些api的操作需要声明权限cd
A、播放mp3文件B、读SD卡(读sd卡状态)C、发短信D、访问网络
29、D10MB2099(2分)4.在android中使用SQLiteOpenHelper这个辅助类时,哪些操作可能生成一个数据库,ab
A、getWriteableDatabase()B、getReadableDatabase()
C、getDatabase()D、getAbleDatabase()
30、D13MB2100(2分)下列对SharePreferences存、取文件的说法中正确的是:
abd
A,属于移动存储解决方案B,sharePreferences处理的就是key-value对
C,读取xml文件的路径是/sdcard/shared_prefxD,信息的保存格式是xml
31、D15MB2101(2分)NotificationManager中清除消息的方法是bd
A,destroyB,cancelC,clearD,cancelAll
得分
阅卷人
三、填空题:
(共11题,15分)
32、D11EC1102(1分)当启动一个Activity并且新的Activity执行完后需要返回到启动它的Activity来执行的回调函数是_____startActivityResult()
33、D06EC1103(1分)android中输入日期的组件是__DatePicker___
34、D17EC1104(1分)AIDL的全称是__Androidinterfacedefinitionlanguage__
35、D14MC2105(2分)广播分为____无序广播和有序广播_______
36、D06EC1106(1分)android中输入时间的组件是_TimePicker______
37、D01EC1107(1分)Android应用的入口点是____Main___
38、D19EC1108(1分)android中专门用于录音的组件是__MediaRecorder__
39、D18MC2109(2分)动画中有一种___Frame__动画,通过顺序的播放排列好的图片来实现,类似电影。
40、D02MC2110(2分)从PC向模拟器中复制文件的命令_adbpush___
41、D09EC1111(1分)android系统4个应用程序之一,主要用于后台运行和跨进程访问的是_service__
42、D03MC2112(2分)创建只显示文本的Toast对象时建议使用__makeText---方法
43、37.页面上现有ProgressBar控件progressBar,请用书写线程以10秒的的时间完成其进度显示工作。
(10分)答案
publicclassProgressBarStuextendsActivity{
privateProgressBarprogressBar=null;
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.progressbar);
//从这到下是关键
progressBar=(ProgressBar)findViewById(R.id.progressBar);
Threadthread=newThread(newRunnable(){
@Override
publicvoidrun(){
intprogressBarMax=progressBar.getMax();
try{
while(progressBarMax!
=progressBar.getProgress())
{
intstepProgress=progressBarMax/10;
intcurrentprogress=progressBar.getProgress();
progressBar.setProgress(currentprogress+stepProgress);
Thread.sleep(1000);
}
}catch(InterruptedExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
});
thread.start();
//关键结束
}
}
36.请继承SQLiteOpenHelper实现:
(10分)1).创建一个版本为1的“diaryOpenHelper.db”的数据库,
2).同时创建一个“diary”表(包含一个_id主键并自增长,topic字符型100
长度,content字符型1000长度)
3).在数据库版本变化时请删除diary表,并重新创建出diary表。
publicclassDBHelperextendsSQLiteOpenHelper{
publicfinalstaticStringDATABASENAME="diaryOpenHelper.db";
publicfinalstaticintDATABASEVERSION=1;
//创建数据库
publicDBHelper(Contextcontext,Stringname,CursorFactoryfactory,intversion)
{
super(context,name,factory,version);
}
//创建表等机构性文件
publicvoidonCreate(SQLiteDatabasedb)
{
Stringsql="createtablediary"+
"("_idintegerprimarykeyautoincrement,"+
"topicvarchar(100),"+
"contentvarchar(1000)"+
")";
db.execSQL(sql);
}
//若数据库版本有更新,则调用此方法
publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion)
{
Stringsql="droptableifexistsdiary";
db.execSQL(sql);
this.onCreate(db);
}
}