第一章 Android应用和开发环境

1.填空题

(1)使用Android Studio开发Android项目时,环境的搭建需要JDK、Android SDK、Android Studio工具

(2)在Android平台中,系统架构分为4层,具体分别为应用程序层、应用程序框架、函数库、Linux内核

(3)在Android开发中,编写代码是在Android Studio的app目录下。

(4)若Activity想要展示指定的View,可使用setContentView(View)方法。

(5)如果开发中要用到广播接收器,需继承BroadcastReceiver类,并且复写onReceiver()方法。

2.选择题

(1)下列开发工具中不属于Android应用的是(D)

A.JDK B.Android SDK C.Android Studio D.codeblock

(2)下列选项中,属于Android开发要使用的语言是(A)

A.Java语言 B.C语言 C.C++语言 D.swift语言

(3)下列选项中,属于Android应用程序的下一层的是(B)

A.Applications B.Framework C.Library D.Linux

(4)下列不属于Android四大组件的是(D)

A.Activity B.Service C.ContentProvider D.Intent

3.简答题

简述Android四大组件以及各自的作用。

Activity:Android应用中负责与用户交互的组件,凡是在应用中看到的界面,都是在Activity中显示。

Service:看作是没有View的Activity,不需要与用户交互,故它一般在后台运行,用户是看不到它的。

BroadcastReceiver:广播,发送消息。

ContentProvider:跨进程间的通讯,可用于两个应用程序之间进行数据交换。

第二章 Android应用的界面编程

1.填空题

(1)在Android中控制UI界面有Java代码、XML布局文件形式。

(2)在Android中所有的UI组件都是建立在View、ViewGroup基础之上。

(3)自定义UI组件中,经常重写onMeasure()、onLayout()、onDraw()方法来自定义UI。

(4)六大布局管理器分别是线性布局(LinearLayout)、帧布局(FrameLayout)、相对布局(RelativeLayout)、绝对布局(AbsoluteLayout)、表格布局(TableLayout)和网格布局(GridLayout)

(5)类TextView的子类EditText与TextView的最大区别是EditText有编辑功能而TextView没有

2.选择题

(1)下列类中不属于组件的容器的是(CD)(多选)

A.View B.ViewGroup C.TextView D.ImageView

(2)下列选项中,不属于自定义UI组件时三个重要方法的是(D)

A.onMeasure(int,int) B.onLayout(boolean,int,int,int)

C.onDraw(Canvas) D.onCreate()

(3)下列选项中,不属于六大基本布局的是(D)

A.LinearLayout B.RelativeLayout C.TableLayout D.ConstrainLayout

(4)在LinearLayout中,orientation可以设置的控件的排列方向是(A)

A.horizontal B.center C.center_horizontal D.center_vertical

(5)下列选项中属于TextView派生的子类是(ABC)(多选)

A.EditText B.Button C.CheckedTextView D.View

3.简答题

(1)简述自定义UI组件的三个重要方法。

onMeasure()、onLayout()、onDraw()

(2)简述六大布局中各自的布局特点。

线性布局(LinearLayout)将它所包含的控件在线性方向上依次排列,通过android:orientation属性设置控件配列方向,水平方向为horizontal,垂直方向为vertical。

帧布局(FrameLayout)所有的控件都会默认摆放在布局的左上角。

相对布局(RelativeLayout)通过相对定位的方式让控件出现在布局的任何位置,例如相对容器内兄弟组件、父容器的位置决定了自身它自身的位置。

绝对布局(AbsoluteLayout)是由开发人员通过X、Y坐标来控制组件的位置的。

网格布局(GridLayout)是Android4.0之后新增的布局管理器,可以自己设置布局中组件的排列方式,可以自定义网格布局有多少行或列,可以直接设置组件位于某行某列,可以设置组件横跨几行或者几列。

第三章 常用的UI组件介绍

1.填空题

(1)在Android中,有OptionMenu选项菜单、ContentMenu上下文菜单、PopupMenu弹出式菜单三种菜单。

(2)为Android应用添加选项菜单时首先要重写onCreateOptionsMenu(Menu menu)方法。
(3)窗口样式的Activity需要在AndroidManifest.xml中对应的Activity中设置Theme。

(4)在Menu中通过setIntent(Intent intent)方法可将菜单项与指定的Intent关联到一起。

2.选择题

(1)下列菜单中不属于Android中的菜单的是(D)

A.OptionMenu B.ContextMenu C.PopupMenu D.AlertMenu

(2)下列选项中,不属于ProgressBar子类的是(D)

A.AbsSeekBar B.SeekBar C.RatingBar D.MenuBar

(3)使用AlertDialog的基本样式总会包含(ABCD)区域(多选)。

A.图标区 B.标题区 C.内容区 D.按钮区

(4)ProgressDialog中设置进度框中显示消息的方法是(B)

A.setMax() B.setMessage() C.setProgress() D.setIndeterminater()

3.简答题

简述常用4种对话框的作用。

AlertDialog:功能最丰富,实际应用最广的对话框。

ProgressDialog:进度对话框,只是用来显示进度条。

DatePickerDialog:日期选择对话框,只是用来选择日期。

TimePickerDialog:时间选择对话框,只是用来选择时间。

第四章 Android事件处理

1.填空题

(1)在Android中事件处理机制有基于回调的事件处理和基于监听的事件处理两种。

(2)在事件监听的处理模型中涉及EventSource、Event和Event Listener对象。

(3)在基于回调的事件处理模型中,没有事件监听器的概念。

(4)为了实现回调机制的事件处理,需要继承GUI组件类,并重写对应的事件处理方法

(5)在基于回调的事件处理方法中,若返回值false则表示该方法没有处理完该事件,该事件会继续传播。

2.选择题

(1)下列不属于消息传递机制中使用到的三大类的一项是(D)

A.Handler B.MessageQueue C.Looper D.handleMessage

(2)在事件监听的处理模型中,主要涉及三类对象为(ABC)(多选)。

A.Event Source B.Event C.Event Listener D.Event Bus

(3)下列选项中,不属于在程序中创建事件监听器的是(D)

A.外部类形式创建监听器 B.Activity本身作为事件监听器

C.匿名内部类作为事件监听器 D.在标签中绑定事件监听器

(4)基于回调的事件处理方法中,返回值boolean为true时表示(A)

A.该事件不会继续传播 B.该事件继续传播

C.该事件消失不见 D.该事件永久存在

3.简答题

如何设置手机屏幕只是竖屏?

在AndroidManifest.xml配置文件中设置相对应的Activity属性android:screenOrientation=”portrait”,可配置。

第五章 深入理解Activity与Fragment

1.填空题

(1)在Android应用中四大基本组件是Activity、Service、BroadcastReceiver、ContentProvider

(2)Activity必须在AndroidManifest.xml中配置才可以使用。

(3)Activity被启动的方式有startActivity(Intent intent)和startActivityForResult(Intent intent,int requestCode)两种方式。

(4)关闭Activity有finish()和finishActivity(int requestCode)两种方式。

(5)Activity的生命周期分为4种状态,分别是运行状态、暂停状态、停止状态、销毁状态

2.选择题

(1)如果不希望横竖屏切换时Activity生命周期被销毁重建,可以设置对应Activity的(A)属性。

A.android:configChanges B.android:action C.android:name D.android:theme

(2)下列选项中,Activity默认的启动模式是(A)。

A.standard B.singleTop C.singleTask D.singleInstance

(3)对于大部分Fragment而言,通常都会重写(ABC)这三个方法。

A.onCreate() B.onCreateView() C.onPause() D.onStop()

(4)将Fragment添加到Activity中有(AD)两种方式。

A.布局文件中使用<fragment…/>元素 B.Intent

C.startFragment D.Java程序中使用FragmentTransaction

3.简答题

简述Fragment事务与数据库事务类似的地方。

与数据库事务类似的是,数据库事务代表了对底层数组的多个更新操作;而Fragment事务则代表了Activity对Fragment执行的多个改变操作。

第六章 使用Intent和IntentFilter进行通信

1.填空题

(1)在Android中启动目标Activity有显式和隐式两种方法。

(2)Intent可用于启动Activity、Service以及BroadcastReceiver Android组件。

(3)Intent包含的属性主要有Component、Action、Category、Data、Type、Extra和Flag这6种。

(4)使用Component属性时需要传入目标组件名

(5)Action设置Intent要完成的抽象动作,Category为Action添加额外的附加类别信息

2.选择题

(1)一个Intent对象包括一个Action属性,还可以包含(D)Category属性。

A.一个 B.三个 C.两个 D.多个

(2)Data属性接收一个(D)对象。

A.URL B.Drawable C.Resource D.RUI

(3)Data属性与Type属性是(B)执行顺序的。

A.无 B.有 C.同时 D.覆盖

(4)通过调用Intent的addFlags()方法可设置目标Activity(A)

A.启动模式 B.启动时间 C.启动位置 D.返回数据

3.简答题

简述设置启动目标Activity为singleTask模式的两种方式。

第一种:在AndroidManifest.xml文件中设置对应Activity的android:launchMode属性为singleTask

第二种:调用Intent的addFlags()设置Flags为FLAG_ACTIVITY_CLEAR_TOP

第七章 Android应用的资源

1.填空题

(1)Android应用资源可分为两大类,第一类无法通过R资源、清单类访问的原生资源,第二类可以通过R资源清单类访问的资源

(2)使用属性动画效果时,需要在res目录下新建animator文件夹。

(3)在Android应用中使用资源也可分为在Java代码和XML布局文件使用资源。

(4)字符串、颜色与样式资源都放在/res/values目录下。

(5)Android中的颜色值是通过ARGB来表示的。

2.选择题

(1)若Android中颜色值省略Alpha值则表示该色值(B)

A.完全透明 B.完全不透明 C.半透明 D.黑色

(2)字符串、颜色与样式资源三个文件的根元素都是(C)

A.<string…/> B.<color…/> C.<resource…/> D.<style…/>

(3)Android中的数组资源也是放在/res/values目录中,以(A)命名。

A.arrays.xml B.strings.xml C.colors.xml D.styles.xml

(4)Drawable资源中可以放置(AB)(多选)

A.图片资源 B.XML文件 C.字符串资源 D.样式资源

(5)定义补间动画的XML资源文件以(A)元素作为根元素。

A.<set…/> B.<alpha…/> C.<scale…/> D.<translate…/>

3.简答题

简述Android中两类应用资源的区别。

第一种是无法通过R资源清单类访问的原生资源,保存在assets目录下,应用程序需要通过AssetManager以二进制流的形式读取该资源。

第二种是可以通过R资源清单类访问的资源,保存在res目录下,AndroidSDK会在编译该应用时自动为该类资源在R.java文件中创建索引。

第八章 图形与图像处理

1.填空题

(1)Bitmap代表一张位图,扩展名可以是.bmp或者.dib

(2)Bitmap采用的是工厂设计模式而设计,所以创建Bitmap时一般不调用其构造方法。

(3)Android提供了isRecycled()、recycle()两个方法来判断Bitmap对象是否被回收。

(4)自定义View的三个重要方法是onMeasure()、onLayout()及onDraw()

(5)Canvas的各种drawXxx方法中需要传入要绘制的图形的坐标形状,还要传入一个画笔Paint

2.选择题

(1)Matrix对图片的处理有4个基本类型,不包括下列选项中的(D)。

A.Translate B.Scale C.Rotate D.Alpha

(2)Matrix本身并不能对图像或View进行变换,但它可与(A)结合来控制图形、View的变换。

A.Canvas B.Bitmap C.Path D.Paint

(3)使用drawBitmapMesh可以实现一下(AB)效果。(多选)

A.水波荡漾 B.风吹旗帜 C.图片透明 D.裁剪图片

(4)Interpolator是一个空接口,开发者可通过实现Interpolator来控制动画的(A)。

A.变化速度 B.开始帧数 C.结束帧数 D.播放时间

(5)下列选项中不属于补间动画的三个必要信息的是(D)。

A.开始帧数 B.结束帧数 C.动画持续时间 D.动画的变化速度

3.简答题

简述属性动画相比补间动画的优势。

补间动画只能定义两个关键帧在平移、旋转、缩放、透明度四个方面的的变化,而属性动画则可以定义任何属性的变化。

补间动画只能对UI组件指定动画,但属性动画几乎可以对任何对象指定动画(不管它是否显示在屏幕上)。

第九章 Android数据存储与I/O

1.填空题

(1)SharedPreferences是一个接口,只能通过Context提供的getSharedPreferences(String name,int mode)方法获取实例。

(2)SharedPreferences主要以key-value对形式保存数据。

(3)Context中提供了openFileInput(String name)、openFileOutput(String name,int mode)两个方法来打开应用程序的数据文件夹中文件IO流。

(4)打开或创建file文件代表的SQLite数据库使用openOrCreateDatabase(File file,SQLiteDatabase.CursorFactory factory)方法。

(5)Android为手势检测提供了GestureDetector检测器。

2.选择题

(1)下列属于SharedPreferences使用步骤的是(ABCD)(多选)。

A.getSharedPreferences B.Editor

C.向getSharedPreferences.Editor中添加数据 D.editor.commit()

(2)SharedPreferences数据总是以(A)格式保存。

A.XML B.<map…/> C.<int…/> D.<string…/>

(3)下列选项中,不属于在SD卡上读写文件的方法的是(D)

A.getExternalStorageState() B.getExternalStorageDirectory()

C.FileInputStream D.openDatabase()

(4)SQLiteDatebase中控制事务的两个方法是(AC)(多选)

A.beginTransaction() B.inTransaction() C.endTransaction

D.setTransactionSuccessful()

第十章 使用ContentProvider实现数据共享

1.填空题

(1)ContentProvider的作用是在不同的应用程序之间实现数据共享

(2)一个URI通常用

[scheme:]scheme-specific-part[#fragment]
[scheme:][//authority][path][?query][#fragment]
[scheme:][//host:port][path][?query][#fragment]

形式展示。

(3)ContentResolver对象是通过getContentResolver方法获取的。

(4)ContentProvider与ContentResolver通过URI进行数据交换。

(5)当ContentProvider数据发生改变时,应用程序将调用getContext().getContentResolver().notifyChange(uri,null);代码。

2.选择题

(1)应用程序中的数据使用ContentProvider暴露时,其步骤包括(AC)。(多选)

A.创建ContentProvider子类 B.创建ContentResolver子类

C.在清单文件中注册ContentProvider子类 D.注册ContentResolver子类

(2)内容提供者ContentProvider的作用是(A)

A.跨进程数据共享 B.解析ContentProvider提供的数据

C.监听特定URI引起的数据库的变化 D.通知URI上的监听者

(3)内容解析者ContentResolver的作用是(B)

A.跨进程数据共享 B.解析ContentProvider提供的数据

C.监听特定URI引起的数据库的变化 D.通知URI上的监听者

(4)内容解析者ContentObserver的作用是(C)

A.跨进程数据共享 B.解析ContentProvider提供的数据

C.监听特定URI引起的数据库的变化 D.通知URI上的监听者

3.简答题

简述ContentResolver、ContentProvider和ContentObserver的关系。

ContentResolver用来操作ContentProvider暴露出来的数据,ContentObserver用于实时监听ContentProvider所共享数据的改变。

第十一章 Service与BroadcastReceiver

1.填空题

(1)在Android系统中运行Service有startService()、bindService()两种方式。

(2)在清单文件中配置Service时enable属性是指该Service是否能够被实例化

(3)用startService()启动Service时,使用stopService(intent)方法停止Service。

(4)使用IntentService实现Service时,只要重写onHandleIntent()方法即可。

(5)使用bindService()方法绑定一个已启动的Service时,需要IBinder对象将访问者(比如Activity)与Service绑定。

2.选择题

(1)TelephonyManager提供了大量的(A)方法来获取电话网络的相关信息。

A.getXxx() B.sendTextMessage() C.adjustStreamVolume() D.getSystemService()

(2)SmsManager用于对文本内容进行发送的方法是(B)

A.getXxx() B.sendTextMessage() C.adjustStreamVolume() D.getSystemService()

(3)AudioManager用来调整手机指定类型的声音的方法是(C)

A.getXxx() B.sendTextMessage() C.adjustStreamVolume() D.getSystemService()

(4)获取AlarmManager对象是通过(D)方法

A.getXxx() B.sendTextMessage() C.adjustStreamVolume() D.getSystemService()

(5)实现BroadcastReceiver的子类中只需要实现(B)方法即可

A.sendBroadcast() B.onReceiver() C.sendOrderedBroadcast()

D.sendTextMessage()

3.简答题

在Android系统中运行Service的两种方式有什么区别?

使用startService()方法启动Service时,访问者与Service之间没有关联,即使访问者退出了,Service也仍然运行。

使用bindService()方法绑定Service时,访问者与Service绑定在一起,访问者一旦退出,Service也被销毁。

第十二章 Android网络应用

第十三章 多媒体应用开发

1.填空题

(1)MediaPlayer类包含了Audio和Video两个播放功能。

(2)使用MediaPlayer播放网络音频时有create(Context context,Uri uri)和setDataSource(Context context,Uri uri)两种方法可以调用。

(3)使用特效控制音乐播放时离不开AudioEffect及其子类。

(4)Android提供了VideoView组件来播放视频。

(5)获取到VideoView对象之后,调用setVideoPath(String path)或setVideoURI(Uri uri)方法来加载指定视频。

2.选择题

(1)使用MediaPlayer播放音视频过程不包括下列哪个方法?(D)

A.start() B.stop() C.prepare() D.onPause()

(2)下列选项中,不属于MediaPlayer播放资源的来源的是(D)

A.应用中的资源文件 B.SD卡上的音频文件 C.网络音频文件 D.SD卡上的doc文件

(3)与MediaPlayer相比,VideoView(ABC)

A.可以在程序或布局文件中使用 B.可以在程序中使用 C.可以在布局文件中使用

D.在程序或布局文件中都不可以使用

(4)手机录音功能使用到下列选项中的(B)

A.MediaPlayer B.MediaRecorder C.VideoView D.AudioEffect

3.简答题

(1)简述使用MediaPlayer与VideoPlayer播放视频方法的不同点。

VideoView不光能在程序中创建,也可以直接在界面布局文件中使用,而MediaPlayer只能在程序中创建使用。

(2)思考如何使用MediaRecorder录制短视频。

使用MediaRecorder录制视频与录制音频的步骤基本相同。只是录制视频时不仅需要采集声音,还需要采集图像。为了让MediaRecorder录制时采集图像,应该在调用setAudioSource(int audio source)方法时再调用setVideoSource(int video source)方法来设置图像来源。

署名-非商业性使用-禁止演绎 4.0 国际 协议(CC BY-NC-ND 4.0)
最后修改:2022 年 12 月 23 日
如果觉得我的文章对你有帮助,可以点个赞再走喔