2022年最新Android编程基础笔试题及答案. .pdf
精品文档精品文档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/drawable B、主要放置一些文件资源 ,这些文件会被原封不动打包到apk 里面C、放置字符串,颜色,数组等常量数据res/values D、放置一些与UI 相应的布局文件,都是xml 文件 res/layout 3、 D04MA059 (2 分)下列不属于 android 布局的是 (c) 题号一二三总分合分人得分密封线内不要答题学院班级姓名名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 12 页 - - - - - - - - - 精品文档精品文档A、F r am eL ay o ut B、L i n ea r L a yo utC、BorderLayout D、T ab l e La yo u t E 、R el at i v eL ay o u t4、 D08MA2060 (2 分)Intent 的作用的是 a A、 intent是连接四大组件的纽带 , 可以实现界面间切换, 可以包含动作和动作数据,B、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切 换页面而消失 service C、实现应用程序间的数据共享 contentprovider D 、处理一个应用程序整体性的工作5、 D04EA1061(1分) 下列哪个是 AbsoluteLayout 中特有的属性b A,android:layout_height B,android:layout_xC,android:layout_above D,android:layout_toRightOf 6、 D07EA1062(1分)RatingBar组件中不能用属性直接设置的是d A,五角星个数B,当前分数 C,分数的增量 D,五角星的色彩7、D10EA1063(1 分) 在手机开发中常用的数据库是_a_A,sqlLite B,Oracle C,Sql Server D,Db23 8、 D14MA2064(2分)关于BroadcastReceiver的说法 不正确 的是_b_ A, 是用来接收广播Intent 的B,一个广播 Intent 只能被一个订阅了此广播的BroadcastReceiver所接收C, 对有序广播,系统会根据接收者声明的优先级别按顺序逐个执行接收者D, 接收者声明的优先级别在 的 android:priority 属性中声明,数值越大优先级别越高9、 D19MA2065(2分) 使用 MediaPlayer播放保存在 sdcard上的 mp3 文件时 _c_ A,需要使用 MediaPlayer.create方法创建 MediaPlayer B,直接 newMediaPlayer 即可C,需要调用 setDataSource方法设置文件源D,直接调用 start 方法,无需设置文件源名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 12 页 - - - - - - - - - 精品文档精品文档10、 D05EA1066(1分) 在 android 中使用 RadioButton 时, 要想实现互斥的选择需要用的组件是 d A,ButtonGroup B, RadioButtons C,CheckBox D,RadioGroup 11、 D16MA2067(2分) 在多个应用中读取共享存储数据时,需要用到的 query 方法,是哪个对象的方法? _A_ A, ContentResolverB, ContentProvider C, Cursor D, SQLiteHelper 12、 D03MA2068(2分)DDMS中 Log信息分为几个级别 _c_A,3 B,4 C,5Log.v() ,Log.d() ,Log.i() ,Log.w() ,Log.e() D,6 13、 D06MA2069(2分) 能够自动完成输入内容的组件是_d_ A,TextView B,EditText C,ImageView D,AutoCompleteTextView14、 D12EA1070 (1 分)创建子菜单的方法是 _b_ A,add B,addSubMenu C,createSubMenu D,createMenu 15、 D17DA4071(4 分) 使用 AIDL完成远程 service 方法调用下列说法不正确的是_a_A, aidl对应的接口名称不能与aidl 文件名相同B, aidl的文件的内容类似java代码C, 创建一个 Service (服务),在服务的onBind(Intent intent) 方法中返回实现了aidl接口的对象D, aidl对应的接口的方法前面不能加访问权限修饰符16、 D19MA2072(2 分)MediaPlayer 播放资源前,需要调用哪个方法完成准备工作_bA,setDataSource B,prepare C,begin D,pause 17、 D12MA2073(2分) 处理菜单项单击事件的方法不包含_d_ A, 使用 onOptionsItemSelected(MenuItem item)响应B,使用 onMenuItemSelected(int featureId ,MenuItem item) 响应C,使用 onMenuItemClick(MenuItem item) 响应D,使用 onCreateOptionsMenu(Menu menu)响应18、 D13EA1074(1分) android 中文件操作模式中表示只能被本应用使用,写入文件会覆盖的是_d_ 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 12 页 - - - - - - - - - 精品文档精品文档A, MODE_APPEND B,MODE_WORLD_READABLE C,MODE_WORLD_WRITEABLE D, MODE_PRIVATE 19、 D07MA2075(2分)进度条中哪个属性是设置进度条大小格式的_d_A,android:secondaryProgress B,android:progress( 设置 值 )C,android:max D,style 20、 D07MA2076(2分)下列用以显示一系列图像的是_b_ A,ImageView B,GalleryC,ImageSwitcher D,GridView 21、 D06MA2077(2分)表示下拉列表的组件是 _b_ A,Gallery B,Spinner C,GridView D,ListView 22、 D12MA2078(2 分)关于 AlertDialog 的说法不正确的是 _a_ A,要想使用对话框首先要使用new 关键字创建 AlertDialog 的实例B,对话框的显示需要调用show 方法C,setPositiveButton方法是用来加确定按钮的D,setNegativeButton 方法是用来加取消按钮的23、 D05MA2079(2分)下列说法错误的是 _d_A,Button 是普通按钮组件,除此外还有其他的按钮组件B,TextView是显示文本的组件, TextView是 EditText的父类C,EditText是编辑文本的组件,可以使用EditText输入特定的字符D,ImageView是显示图片的组件,可以通过设置显示局部图片24、 D19MA2080(2分)关于 android 中播放视频的说法不对的是_c_ A,可以使用 SurfaceView组件播视频B,可以使用 VideoView 组件播视频C,VideoView组件可以控制播放的位置和大小D,VideoView播放视频的格式可以是3gp 25、 D10MA2081(2分)下列哪个是 SqlLite下的命令 _c_名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 12 页 - - - - - - - - - 精品文档精品文档A,shell B,push C,.quit D,keytool 26、 D15EA1082(1分)下列关于如何使用 Notification ,不对的是 _d_ A,notification 需要 NotificatinManager 来管理B,使用 NotificationManager 的 notify 方法显示 notification 消息C,在显示 Notification 时可以设置通知时的默认发声,震动等D,Notification 中有方法可以清除消息27、 D19EA1083(1分)下列关于 open core 说法不正确的是 _b_A, Open core是 Android 多媒体框架的核心B, MediaPlayer是 open Core中的一个核心类C, 所有在 Android 平台的音频、视频的采集以及播放等操作都是通过它来实现的D, 在实现开发中我们并不会过多地研究open core 的实现,我们的 Android 为我们提供了上层的 media api的开发使用28、 D12EA1084(1分)上下文菜单与其他菜单不同的是_b_ A,上下文菜单项上的单击事件可以使用onMenuItemSelected 方法来响应B,上下文菜单必须注册到指定的view 上才能显示C,上下文菜单的菜单项可以添加,可以删除D,上下文菜单的菜单项可以有子项29、 D07MA2085(2分)拖动条组件是 _c_A,RatingBar B,ProgressBar C,SeekBar D,ScrollBar 30、 D13EA1086(1分)读取文件内容的首要方法是_d_A,openFileOutput B,read C,write D,openFileInput 31、 D08EA1087(1分)关于隐式 Intent 正确的是 _a_ A, android 中使用 IntentFilter 来寻找与隐式 Intent 相关的对象B,通过组件的名称寻找与intent 相关联的对象C, 隐式 Intent 更多用于在应用程序内部传递消息名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 12 页 - - - - - - - - - 精品文档精品文档D, 一个声明了 IntentFilter 的组件只能响应隐式Intent 请求32、 D05MA2088(2分)多选框被选择事件通常用 _b_A,setOnClickListener B,setOnCheckChangeListener C, setOnMenuItemSelectedListener D,setOnCheckedListener 33、 D12EA1089(1分)自定义对话框时,将视图对象添加到当前对话框的方法是_d_ A,setIcon B,setXML C,setLayout D,setView34、 D09MA2090(2分)下列不属于 service生命周期的方法是 _C_ A,onCreate B,onDestroy C,onStop D,onStart 35、 D09MA2091(2分)绑定 Service的方法是 _a_ A,bindService B, startService C,onStart D,onBind 二、多选题(共10 题,共 24 分)36、 D08MB2092 (2 分)Intent 传递数据时,下列的数据类型哪些可以被传递abcd A、Serializable B 、charsequence C 、Parcelable D 、Bundle 37、 D11DB4093 (4 分)1. android 数据存储与访问的方式一下说法正确的是:(abcde) A、文件 B 、数据库 C 、sharedpreference D、内容提供者 E 、网络38、D07DB4094 (4分). 下列可能会导致GC 内存泄露的是:abc A.数据库的 cursor 没有关闭B.构造 adapter 时, 没有使用缓存 contentview C.衍生 listview的优化问题 -减少创建 view 的对象 , 充分使用 contentview,可以使用一静态类来优化处理getview 的过程 activity一般会重载一些方法用来维护其生命周期,下列不输于相关方法的是 D.使用 sqlite数据库39、 D09MA2095(2 分) android 通过 startService 的方式开启服务 , 关于 service 生命周期的 onCreate()和 onStart() 说法正确的是 ad 得分阅卷人名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 12 页 - - - - - - - - - 精品文档精品文档A、当第一次启动的时候先后调用 onCreate()和 onStart()方法B、当第一次启动的时候只会调用 onCreate()方法C、如果 service 已经启动,将先后调用 onCreate()和 onStart()方法D、如果 service 已经启动,只会执行 onStart()方法,不在执行 onCreate()方法40、41、 D02MB2096 (2 分)开发 android 程序需要的开发工具和开发包包括 abcdA, JDK B,Eclipse C,Android SDK D,ADT E,Raw 42、43、 D18MB2097(2 分) 下列属于补间动画相关类的是_acd_ A, TranslateAnimation B, FrameAnimation C, RotateAnimation D, AlphaAnimation 44、 D13MB2098 (2 分)下列哪些 api 的操作需要声明权限 cd A、播放 mp3 文件 B、读 SD 卡 ( 读 sd 卡状态 ) C 、发短信 D、访问网络45、46、 D10MB2099(2 分) 4. 在 android 中使用 SQLiteOpenHelper 这个辅助类时,哪些操作可能生成一个数据库 , ab A、getWriteableDatabase() B、getReadableDatabase() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 12 页 - - - - - - - - - 精品文档精品文档C、getDatabase() D 、getAbleDatabase() 47、D13MB2100(2 分) 下列对 SharePreferences存、取文件的说法中正确的是:abd A,属于移动存储解决方案 B,sharePreferences处理的就是 key-value对C,读取 xml 文件的路径是 /sdcard/shared_prefx D,信息的保存格式是xml 48、 D15MB2101(2 分)NotificationManager中清除消息的方法是 bd A,destroy B,cancel C,clear D,cancelAll三、 填空题: (共 11 题,15 分)49、 D11EC1102 (1 分)当启动一个Activity并且新的 Activity执行完后需要返回到启动它的 Activity来执行的回调函数是 _startActivityResult() 50、 D06EC1103 (1 分) android中输入日期的组件是 _ DatePicker _ 51、 D17EC1104 (1 分) AIDL 的全称是 _ Android interface definition language_ 52、 D14MC2105 (2分)广播分为 _无序广播和有序广播 _ 53、 D06EC1106 (1 分) android中输入时间的组件是 _TimePicker_ 54、 D01EC1107 (1 分)Android 应用的入口点是_Main_ 55、 D19EC1108(1分) android 中专门用于录音的组件是_MediaRecorder_ 56、 D18MC2109 (2 分)动画中有一种 _Frame_动画,通过顺序的播放排列好的图片来实现,类似电影。57、 D02MC2110(2分)从 PC向模拟器中复制文件的命令_adb push_ 58、 D09EC1111(1分) android 系统 4 个应用程序之一,主要用于后台运行和跨进程访问的是_service_59、 D03MC2112(2分)创建只显示文本的Toast对象时建议使用 _makeText-方法得分阅卷人名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 12 页 - - - - - - - - - 精品文档精品文档60、37. 页面上现有 ProgressBar 控件 progressBar ,请用书写线程以10秒的的时间完成其进度显示工作。 (10 分)答案publicclass ProgressBarStu extends Activity private ProgressBar progressBar = null;protected void onCreate(BundlesavedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.progressbar);/ 从这到下是关键progressBar = (ProgressBar)findViewById(R.id.progressBar);Thread thread = new Thread(newRunnable() Overridepublic void run() int progressBarMax =progressBar .getMax();try while(progressBarMax!=progressBar.getProgress()intstepProgress = 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 12 页 - - - - - - - - - 精品文档精品文档progressBarMax/10;intcurrentprogress = progressBar.getProgress();progressBar.setProgress(currentprogress+stepProgress);Thread.sleep(1000); catch(InterruptedException e) / TODO Auto-generatedcatch blocke.printStackTrace(););thread.start();/ 关键结束36. 请继承 SQLiteOpenHelper 实现: (10 分) 1).创建一个版本为名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 12 页 - - - - - - - - - 精品文档精品文档1 的“ diaryOpenHelper .db”的数据库,2).同时创建一个“diary” 表(包含一个 _id 主键并自增长, topic字符型 100长度,content 字符型 1000 长度)3).在数据库版本变化时请删除diary 表,并重新创建出diary 表。publicclass DBHelper extends SQLiteOpenHelperpublic final static String DATABASENAME =diaryOpenHelper .db;public final static int DATABASEVERSION =1;/ 创建数据库public DBHelper(Context context,Stringname,CursorFactory factory,int version)super(context, name, factory,version);/ 创建表等机构性文件public void onCreate(SQLiteDatabase db)String sql =create tablediary+(_idinteger primary key autoincrement,+名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 12 页 - - - - - - - - - 精品文档精品文档topic varchar(100),+content varchar(1000)+);db.execSQL(sql);/ 若数据库版本有更新,则调用此方法public void onUpgrade(SQLiteDatabasedb,int oldVersion,int newVersion)String sql = drop table ifexists diary;db.execSQL(sql);this.onCreate(db);61、名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 12 页 - - - - - - - - -