Android期末复习篇_8章节练习题附答案
说明Android移动应用开发章节练习题,注意此答案并非标准答案,仅供期末复习参考。加粗题目为强调题目目录第一章-安卓基础入门第二章-安卓常见页面布局第三章-安卓常见页面控件第四章-安卓程序活动单元Activity第五章-安卓数据存储第六章-内容提供者第七章-广播一、第一章-安卓基础入门Android安装包文件简称APK,其后缀名是(A)•A、apk•B、exe•C、txt•D、appAndroi
说明
Android移动应用开发章节练习题,注意
- 此答案并非标准答案,仅供期末复习参考。
- 加粗题目为强调题目
目录
- 第一章-安卓基础入门
- 第二章-安卓常见页面布局
- 第三章-安卓常见页面控件
- 第四章-安卓程序活动单元Activity
- 第五章-安卓数据存储
- 第六章-内容提供者
- 第七章-广播
一、第一章-安卓基础入门
- Android安装包文件简称APK,其后缀名是(A)
• A、apk
• B、exe
• C、txt
• D、app - Android 工程中存放各种程序资源的目录是(C)
• A、src
• B、gen
• C、res
• D、bin - Android项目中的布局文件放在哪个目录下(A)
• A、res/layout
• B、res/value
• C、assets
• D、res/drawable - 在创建Android工程时,填写的Minimum Required SDK是(B)
• A、匹配的目标版本
• B、程序最低兼容的版本
• C、使用哪个SDK版本编译程序
• D、SDK的主题 - 在下列选项中,关于Android工程中的assets目录的说法正确的是(B)
• A、存放使用到的图片资源
• B、主要存放一些文件资源,这些文件会被原封不动的打包到APK文件中
• C、存放字符串、颜色、数组等常量数据
• D、存放与UI相应的布局文件
判断题
- Android 工程中gen目录是自动生成的,主要有一个R.java文件,该文件可手动修改 错误
- Linux内核层为Android设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动等 对
- Android操作系统并不是开源的 错误
- Android系统是基于Linux平台开发的 对
- 创建程序时,填写的Package Name表示项目名称 错误
- Android 工程中AndroidManifest.xml文件是整个程序的配置文件 对
- SDKManager.exe是Android SDK的管理器,双击它可以看到所有可下载的Android SDK版本 对
- Android是Google公司基于Linux平台开发的手机及平板电脑操作系统 对
- Android系统采用分层架构,由高到低分为4层,依次是应用程序层、应用程序框架层、核心类库和Linux内核 对
- 填空题
- 创建程序时,填写的Application Name表示___应用名称_ _____
- 在Android项目程序开发完成后中,必须__打包成__ ___正式的Android安装文件,才能发布到互联网上让用户下载使用。
- Android 工程中src目录下存放___ _所有的Java代码___文件
二、第二章-安卓常见页面布局
- 下列表示Toast较长时间显示的是(A)。
• A、Toast.LENGTH_LONG
• B、Toast.LONG
• C、Toast.LENGTH_SHORT
• D、Toast.SHORT - 在相对布局文件中,把控件显示在另外一个控件的右侧使用的属性是(A)
• A、layout_toRightOf
• B、layout_toLeftOf
• C、layout_toStartOf
• D、layout_toEndOf - 在帧布局中的子控件默认是(B)对齐的。
• A、右上角
• B、左上角
• C、左下角
• D、右下角 - Android相对布局中,使控件相对父控件底部对齐使用的属性是(A)。
• A、android:layout_alignParentBottom
• B、android:layout_alignBottom
• C、android:layout_alignBaseline
• D、android:layout_alignParentTop - 在下列选项中,用于给Activity指定主题的属性是(C)
• A、icon
• B、label
• C、theme
• D、style - Android UI开发中,如果TableLayout的第一个TableRow有两个控件,第二个TableRow有三个控件,那这个TableLayout就有(C)列。
• A、1
• B、2
• C、3
• D、4 - 在下列选项中,用于给控件指定主题的属性是(C)
• A、icon
• B、label
• C、theme
• D、style - 绝对布局的标签名称是(D)
• A、FrameLayout
• B、LinearLayout
• C、RelativeLayout
• D、AbsoluteLayout - 在相对布局文件中,把控件与另外一个控件的下边使用的属性是(C)
• A、layout_above
• B、padding
• C、layout_below
• D、layout_margin - 在下列选项中,设置GridLayout中的某控件占3行的是(B)
• A、android:rowSpan=“3”
• B、android:layout_rowSpan=“3”
• C、android:layout_columnSpan=“3”
• D、android:layout_column=“3” - Android UI开发中,设置Activity的(A)属性可以使Activity显示为对话框样式。
• A、android:theme="@android:style/Theme.Dialog"
• B、android:style="@android:style/Theme.Dialog"
• C、android:theme="@android:theme/Theme.Dialog"
• D、android:style="@android:theme/Theme.Dialog" - Android UI开发中,设置线性布局为垂直显示需修改的属性的(A)
• A、android:orientation=“vertical”
• B、android:orientation=“horizontal”
• C、android:layout_centerHorizontal=“true”
• D、android:layout_centerVertical=“true” - Android UI开发中,如何设置GridLayout列数为4(B)。
• A、android:columnCount=“4”
• B、android:layout_columnCount=“4”
• C、android:column=“4”
• D、android:stretchColumns=“4” - 在Android UI开发中,常见的刮刮卡是通过(A)实现的。
• A、FrameLayout
• B、LinearLayout
• C、RelativeLayout
• D、TableLayout - 样式文件是在( D)目录下创建的。
• A、colors
• B、dimens
• C、strings
• D、styles - 在网格布局中,设置列数的属性是(B)
• A、column
• B、columnCount
• C、layout_columnCount
• D、stretchColumns - 在下列选项中,设置线性布局方向的属性是(A)
• A、orientation
• B、gravity
• C、layout_gravity
• D、padding - 在布局文件中,给Button指定单击事件响应方法的属性是(A)
• A、onClick
• B、hint
• C、enabled
• D、focusable - Android相对布局中,要使A控件在B控件的下方,A控件需添加的属性是(C)
• A、android:layout_above
• B、android:layout_alignBaseline
• C、android:layout_below
• D、android:layout_alignBottom - 在下列选项中,用于给Activity指定主题的属性是(C)
• A、icon
• B、label
• C、theme
• D、style - Android UI开发中,TableLayout的stretchColumns属性表示(D)
• A、TableLayout的列数
• B、TableLayout的行数
• C、TableLayout最多能加入的列数
• D、拉伸指定列填充满TableLayout - 在下列选项中,关于TableRow标签的说法正确的是(C)
• A、在GridView里面表示一行
• B、是五种布局的一种
• C、是表格布局里面表示一行的标签
• D、在listView里面表示一行 - 在线性布局文件中,把方向设置为水平方的属性是(B)
• A、vertical
• B、horizontal
• C、fill_vertical
• D、fill_horizontal - 放入绝对布局中的控件需要通过____D__两个属性指定其准确的坐标值
• A、android:width和android:height
• B、android:layout_width和android:layout_height
• C、android:x和android:y
• D、android:layout_x和android:layout_y - Android UI开发中,在GridLayout中如何设置某控件占3行(B)
• A、android:layout_columnSpan=“3”
• B、android:layout_rowSpan=“3”
• C、android:rowSpan=“3”
• D、android:layout_column=“3” - 在下列选项中,表示Toast较短时间显示信息的是(C)。
• A、Toast.LENGTH_LONG
• B、Toast.LONG
• C、Toast.LENGTH_SHORT
• D、Toast.SHORT
判断题
-
在Android UI开发中,通常情况下使用主题定义一个界面或者整个软件界面的风格,使用样式定义控件的风格。 正确
-
Android UI开发中,线性布局默认为水平显示。正确
-
在Activity代码中同样也可以引用自定义主题,只需要在Activity类onCreate()方法内添加setTheme()方法即可。正确
-
Android中的网格布局使用GridLayout控件表示。正确
-
Toast.makeText(context,text,time)必须在调用了show()方法后才能把信息显示出来。正确
-
Android UI开发中,如果一个应用中使用了主题,同时应用下的View也使用了样式,那么当主题和样式中的属性发生冲突时,主题的优先级高于样式。错误
-
Android UI开发中,文本框可以在界面上显示文字,通常作为提示信息展示。正确
-
当用@string/xxx方式引用一个文本资源时,Android系统会首先判断手机设置的语言和地区,然后通过这些信息去对应values目录下strings.xml文件,引用其中的内容。正确
-
帧布局在界面上是一帧一帧显示的。正确
-
国际化Internationalization这个单词的首字母“I”和尾字母“N”之间有18个字符,因此国际化被简称为I18N。正确
-
Android 代码中加入Toast.makeText(Context,Text,Time);即可显示Toast。错误
-
Android UI开发中,相对布局通常有两种形式,一种是相对于容器而言的,一种是相对于控件而言的。正确
-
样式中的
<item>
标签是用来声明属性值的。正确 -
TextView控件通常用于在界面上显示文字信息。正确
-
理论上绝对布局可以完成任何的布局设计,且灵活性很大,所以开发中推荐使用绝对布局。错误
-
TableLayout可以将视图按照行、列进行排列。正确
-
相对布局中的控件都是按照相对位置摆放的。正确
-
绝对布局灵活性很大, 可以完成任何的布局设计,所以开发中推荐使用绝对布局。错误
-
在线性布局文件中,如果把方向设置为水平方向,控件会摆放在同一行。 正确
-
填空题
-
___EditText______控件可以输入文字,且可以通过inputType属性控制输入的内容只能是数字或者字母等。
-
当主题和样式中的属性发生冲突时,主题的优先级要____低于____样式。
-
Android UI开发中,网格布局是_____Android4.0____新增的布局,它实现了控件的交错显示,能够避免因布局嵌套对设备性能的影响,更利于自由布局的开发。
-
Android开发中,想让软件支持简体中文、美式英语两种环境,需要在res目录下新建两个values文件夹,分别命名为___values-zh-rCN、values-en-rUS________。
-
Android UI开发中,线性布局主要有两种形式,一种是水平线性布局,一种是__垂直______线性布局
-
____帧布局____是Android布局中最简单的一种,为每个加入其中的控件创建一个空白区域(称为一帧,每个控件占据一帧)
-
Android UI开发中,TableLayout的行数由____TableRow_____对象控制的
-
____Theme_____是应用到整个Activity和Application的样式。
-
在Android系统中,线性布局使用____LinearLayout________控件表示。
-
Android系统中,_____style_____用于定义布局显示在界面上的风格
-
Toast.makeText(Context,Text,Time)中的“Time”表示显示时长,该属性有特定的值,Toast.LENGTH_LONG表示较长时间显示,_____Toast.LENGTH_SHORT______表示较短时间显示
-
主题与样式在代码结构上是一样的,不同之处在于主题的引用要在__AndroidMainifest.xml______文件中引用。
-
Android有自己的国际化规范和方法,布局中所有文字资源只有通过_____R.string.<string_name>___方式引用才能起到效果
-
在清单文件中,
<application>
标签中的andorid:theme属性,代表的是____Application___主题的样式,而标签中是改变_____Activity___主题的样式 -
Android系统中,_____style____用于定义控件的风格
-
在Activity代码中同样也可以引用自定义主题,只需要在Activity类onCreate()方法内添加__setTheme()_________方法即可。
-
_____绝对布局___需要通过指定x、y坐标来控制每一个组件的位置,放入该布局的组件需要通过android:layout_x和android:layout_y两个属性指定其准确的坐标值,并显示在屏幕上。
-
Toast.makeText(context,text,time)中的text是__要显示的字符串_______
-
在_____EditText____控件中可以输入文字,并且可以通过inputType属性控制输入的内容只能是数字或者字母等。
-
网格布局的标签是__GridLayout_________
-
相对布局的标签是_____RelativeLayout______
-
帧布局的标签是 FrameLayout___
-
国际化Internationalization这个单词的首字母“I”和尾字母“N”之间有18个字符,因此国际化被简称为_____i18N__
-
表格布局的标签是______TableLayout___
三、第三章-安卓常见页面控件
- 在下列选项中,设置ProgressBar的最大进度的方法是(A)
• A、setMax()
• B、setProgress()
• C、setCurrentProgress ()
• D、setTotalProgress() - Android使用(A)的方式来管理Activity的实例
• A、任务栈
• B、任务堆
• C、队列
• D、任务列 - 下面代码采用的是(C)启动Activity
• A、显示意图
• B、显式意图
• C、隐式意图
• D、隐示意图 - onActivityResult()方法有三个参数,其中(B)表示在返回数据时传入结果码
• A、requestCode
• B、resultCode
• C、data
• D、result - 在startActivityForResult方法表示请求码的参数是(A)
• A、requestCode
• B、resultCode
• C、data
• D、intent - Android中Intent传递类对象时,该类对象需实现(D)或Parcelable接口
• A、Copyings接口
• B、Copying接口
• C、Serializables接口
• D、Serializable接口 - 多个RadioButton要实现单选,需要包裹在哪一个控件里(C)
• A、RatingBar
• B、RatingBars
• C、RadioGroup
• D、RadioGroups - 在下列选项中,用来设置Activity的启动模式的属性是(B)
• A、android:launch
• B、android:launchMode
• C、android:launchMethod
• D、android:launchProperty - (B)启动模式与standard类似,不同的是,当启动的Activity已经位于栈顶时,则直接使用它不创建新的实例
• A、singleTask
• B、singleTop
• C、singleTask和 singleTop
• D、singleInstance - Activity在(A)状态时处于屏幕最前端,它是可见、有焦点的,可以与用户进行交互?
• A、启动状态
• B、运行状态
• C、暂停状态
• D、停止状态 - 启动系统相机使用的action是(A)
• A、android.media.action.IMAGE_CAPTURE
• B、android.media.action. IMAGES_CAPTURE
• C、android.media.action. VIDEO_CAPTURE
• D、android.media.action.VIDEOS_CAPTURE - 下列不是onActivityResult()方法参数的是(D)
• A、requestCode
• B、resultCode
• C、data
• D、result - 没有明确指定组件名的Intent称为(C)
• A、显示意图
• B、显式意图
• C、隐式意图
• D、隐示意图 - (C)启动模式是指,每次启动该Activity时,系统会这个Activity的实例作为一个任务压入任务栈的栈顶,每次销毁一个Activity时,系统会从任务栈中把这个Activity实例对应的任务移除。
• A、singleTask
• B、singleTop
• C、standard
• D、singleInstance - 当Activity的启动模式指定为(A),每次启动该Activity时,系统首先会检查栈中是否存在该活动的实例,如果发现已经存在则直接使用该实例,并将当前Activity之上的所有Activity出栈,如果没有发现则创建一个新的实例
• A、singleTask
• B、singleTop
• C、standard
• D、singleInstance - Android采用(A)的方式来管理Activity的实例
• A、任务栈
• B、任务堆
• C、队列
• D、任务列 - 在下列选项中,不能使用Intent传递的数据类型是(B)
• A、把大基本数据类型及其数组
• B、Map
• C、Parcelable
• D、Serializable - 在下列选项中,用来设置Activity的启动模式的属性是(B)
• A、android:launch
• B、android:launchMode
• C、android:launchMethod
• D、android:launchProperty - 在下列选项中,关于onActivityResult方法中的参数描述错误的是(D)
• A、requestCode,表示在启动Activity时传递的请求码
• B、resultCode,表示在返回数据时传入结果码
• C、data,表示携带返回数据的Intent
• D、data,表示启动Activity时传递的Intent - 下列能打开系统相机的方法是(C)
• A、显示意图
• B、显式意图
• C、隐式意图
• D、隐示意图 - 下列能打开系统相机的方法是(A)
• A、onStart()
• B、onResume()
• C、onPause()
• D、onDestroy() - 下列选项中不能通过Intent传递的是(C)
• A、“数据”
• B、2
• C、对象obj
• D、实现Serializable接口的对象obj - Activity在(C)状态是对用户来说仍然可见,但它无法获取焦点,用户对它操作没有响应。
• A、启动状态
• B、运行状态
• C、暂停状态
• D、停止状态 - 在下列选项中, 可以获得Intent中String类型参数的方法是(B)
• A、getExtraString(string)
• B、getStringExtra(string)
• C、getStringPut(string)
• D、getPutString(string) - Activity通过(B)方法可以设置它的布局文件
• A、setContentViews()
• B、setContentView()
• C、setLayoutView()
• D、setLayoutViews() - 两个RadioButton要实现单选需要包裹在(B)中
• A、RadioGroups
• B、RadioGroup
• C、RatingBar
• D、RatingBars - Activity通过(B)方法可以设置它的布局文件,并把视图显示在界面上。
• A、setLayoutView()
• B、setContentView()
• C、setLayoutViews()
• D、setContentViews() - (C)是指在开启组件时,不需要直接指定目标组件的名称,而是通过指定一组动作、数据、类型等属性,让系统从清单文件中匹配指定的组件并开启它。
• A、显示意图
• B、显式意图
• C、隐式意图
• D、隐示意图 - Activity的布局文件放在哪个目录下(A)
• A、res/layout
• B、res/layouts
• C、res/xml
• D、res/values - 开启当前应用中的Activity使用(B)
• A、显示意图
• B、显式意图
• C、隐式意图
• D、隐示意图 - Activity获取焦点时执行方法是(B)
• A、onStart()
• B、onResume()
• C、onPause()
• D、onDestroy()
判断题
- Activity的生命周期分为五种状态,分别是启动状态、运行状态、暂停状态、停止状态和销毁状态。正确
- 当Activity处于运行状态时,Android会尽可能地保持它的运行,即使出现内存不足的情况,Android也会先杀死栈底部的Activity,来确保可见的Activity正常运行。正确
- Activity默认的启动模式是standard,在不指定启动模式的情况下,Activity使用的都是standard模式。正确
- 栈是一种“先进先出”的数据结构。错误
- 当Activity处于销毁状态时,将被清理出内存。正确
- ProgressBar通常用于访问网络展示loading对话框以及下载文件时显示的进度。它有两种表现形式,一种是水平的,另一种是环形的。正确
- 使用Intent传递数据只需调用putExtra()方法将想要存储的数据存在Intent中即可。 正确
- 在用户注册案例中展示用户信息Activity可以通过getIntent()方法获取到Intent对象,然后通过该对象的getStringExtra()方法拿到输入的用户名。正确
- Activity默认的启动模式是standard,在不指定启动模式的情况下,Activity使用的都是standard模式。正确
- Activity可以不用在AndroidManifest.xml文件中注册就可以运行。错误
- 显示意图,即启动Activity时不需要指定Activity的名称。错误
- 创建一个Activity必须继承自android.app.Activity或者其子类。正确
- 关闭Activity的界面时会执行onPause、onStop、onDestroy方法。正确
- Activity不是Context的子类。错误
- Activity的启动状态很短暂,一般情况下,当Activity启动之后便会进入运行状态。正确
- 显式意图,即启动Activity时不需要指定Activity的名称。错误
- ProgressBar有两种表现形式,一种是水平的,另一种是环形的。正确
- standard是Activity默认的启动模式,在不指定Activity启动模式的情况下,所有Activity使用的都是standard这种模式。正确
- 在目标Activity中,通常使用setResult方法设置返回数据。 正确
- standard是Activity默认的启动模式,在不指定Activity启动模式的情况下,所有Activity使用的都是standard这种模式。正确
- 通常一个应用程序对应一个任务栈,默认情况下每启动一个Activity都会入栈,并处于栈顶位置。正确
- 启动系统相机使用的action是android.media.action.VIDEO_CAPTURE。错误
- 启动系统相机使用的action是android.media.action.IMAGE_CAPTURE。正确
- 使用Intent传递数据时,可以使用putExtra()方法把参数封装到Intent中。正确
- Android中Intent传递类对象提供了两种方式一种是 通过实现Serializable接口传递对象,一种是通过实现Parcelable接口传递对象。正确
- 在用户注册案例中展示用户信息Activity可以通过getIntent()方法获取到Intent对象,然后通过该对象的getStringExtra()方法得到输入的用户名。正确
- 当用startActivityForResult()启动activity B时,可以在onActivityResult()方法接收activity B回传的数据。正确
- 使用Intent不能传递Parcelable类型的对象。 错误
填空题
- 通过____getIntent___方法可以获取到Intent对象
- Activity的启动模式有四种,分别是standard、singleTop、_____singleTask_____和singleInstance
- Activity的startActivityForResult()方法接收两个参数,第一个参数是Intent,第二个参数是___自定义常量______,用于在判断数据的来源
- __Intent_______可以用来开启Activity,同样它也可以用来在Activity之间传递数据
- 一个对象从创建到销毁的过程被称为该对象的______生命周期_____
- Andorid提供了一个____setResult_____方法,来实现回传数据
- ___ProcessBar_______通常用于访问网络展示loading对话框以及下载文件时显示的进度
- ______Intent___是Android程序各个组件进行交互的一种重要方式,它不仅可以指定当前组件要执行的动作,还可以在不同组件之间进行数据传递
- 采用______隐式_____意图可以启动系统的相机
- ______Activity____是Android应用程序的四大组件之一,它负责管理Android应用程序的用户界面
- Android中Intent寻找目标组件的方式分为两种,分别是__显式______和_隐式________
- Activity的生命周期中分为三种状态,分别是运行状态、____暂停状态______和停止状态
- Activity从启动到完全出现在用户面前会执行onCreate(),__onStart()_______,onResume()三个方法
- ___生命周期_______就是一个对象从创建到销毁的过程,每一个对象都会经过这个过程
- 通过_____getIntent()__ _方法可以获取到Intent对象
- _____ ProcessBar ___控件通常用于显示进度信息。
- 当Activity处于____运行_____状态时,Android会尽可能地保持它的运行,即使出现内存不足的情况,Android也会先销毁栈底的Activity,来确保当前Activity正常运行。
- 通常一个应用程序对应一个任务栈,默认情况下每启动一个Activity都会入栈,并处于___栈顶_____位置。
- Activity的启动模式有四种,分别是standard、singleTop_____、singleTask和singleInstance
- Activity对用户来说仍然可见,但它无法获取焦点,用户对它操作没有响应,此时它就处于______暂停状态____
- 打开Activity的界面时会执行onCreate,onStart,__onResume________三个方法。
- 在Activity生命周期的方法中, ___onCreate______方法是在Activity实例对象被创建后用来初始化这个实例对象的
- 在Android中通常使用_____Intent_____传递数据。
- 意图分为两类,分别是____显式____和______隐式___
- 在Activity中使用____starActivityForResult_______方法开启目标Activity,并期待目标Activity返回数据。
- 在Activity中使用____onActivityResult_________方法接收目标Activity返回的数据。
- 创建______Activity___时需要继承父类android.app.Activity或者其子类。
- ____Intent_____的作用是激活组件和传递参数。
四、第四章-程序活动单元Activity
- sharedPreferences读取数据时,其中有一个方法是getString(key, defValue),该方法中的defValue参数是什么(C)。
A、key所对应的value值
B、无做用
C、是当用getString得到数据时如果没有得到key值所对应的value值,就给定一个默认的值。
D、key值 - 在SharedPreferences的方法中,使用(C)方法可以得到一个编辑器Editor对象,然后通过这个Editor对象存储数据。
A、editor()
B、getEditor()
C、edit()
D、getEdit () - 在Activity中,可以得到/data/data/com.itheima.savetofile/info.txt路径的输入流的方法是 (A)
A、openFileInput()
B、openFilesInput()
C、openFileOutput()
D、openFilesOutput() - 在下列选项中,Android中的五大存储数据方式不包括(D)
A、文件
B、SQLite数据库
C、SharedPreferences
D、Map
E、网络 - Android中判断CheckBox控件是否选中的方法是(D )。
A、isLogin()
B、isBoolean()
C、onClick()
D、isChecked() - Android中使用serializer对象生成xml 文档开头的方法是(A )。
A、startDocument
B、startTag
C、endTag
D、endDocument - Android获取到SharedPreferences对象sp后,保存数据正确的逻辑是(B )。
A、sp.edit();
B、sp.edit().putString(“name”,”zhangsan”).commit();
C、sp.edit().putString(“name”,”zhangsan”);
D、sp.edit().put(“name”,”zhangsan”).commit(); - Android中使用xmlPullParser解析器解析xml,判断解析到文件末尾的方法是( B)。
A、XmlPullParser.END_TAG
B、XmlPullParser.END_DOCUMENT
C、XmlPullParser.END_TAG_DOCUMENT
D、XmlPullParser.END_ATTRIBUTE - 在下列选项中,不属于XmlPullParser的事件类型的是(E)
A、END_DOCUMENT
B、START_TAG
C、END_TAG
D、START_DOCUMENT
E、END_TEXT - 在QQ登录案例中,获得保存在SharedPreferences中的账号密码,调用的方法是(A)
A、getString()
B、getStringExtra ()
C、getStringValue()
D、getValue() - 在下列选项中,SD卡的根目录是(B )
A、/mnt
B、/mnt/sdcard
C、/data
D、/data/data - 在XmlSerializer的方法中,向XML文件中写一个开始标签的方法是(B)
A、startDocument
B、startTag
C、text
D、endTag - 以下哪个选项不属于openFileOutput方法与 getSharedPreferences方法的文件操作模式参数( D)。
A、Context.MODE_PRIVATE;
B、Context.MODE_APPEND;
C、Context.MODE_WORLD_READABLE;
D、Context.MODE_WORLD; - 在Editor的方法中,用于存储String类型参数的方法是(D)
A、set()
B、setString()
C、put()
D、putString() - Android中使用xmlPullParser解析器解析xml, 获取解析事件类型的方法是( C) 。
A、getDocument()
B、getDocumentTag()
C、getEventType()
D、getAttribute() - 在XmlPullParser的方法中,初始化解析器的方法是(A)
A、setInput()
B、setOutput()
C、getEventType()
D、setEventType() - 在下列选项中,关于openFileInput()方法接收的参数,描述正确的是(C)
A、一个输入流对象
B、一个目录对象
C、/data/data/com.itheima.savetofile/目录下一个文件的名称
D、一个输出流对象 - Android中初始化SharedPreferences,以下正确的是(D )。
A、SharedPreferences sp = new SharedPreferences();
B、SharedPreferences sp = SharedPreferences.getDefault();
C、SharedPreferences sp = SharedPreferences.Factory();
D、SharedPreferences sp = getSharedPreferences(“config”, MODE_PRIVATE); - 在XmlPullParser的方法中,获得标签体内容的方法是(C)
A、getName()
B、next()
C、nextText()
D、getEventType() - 在SharedPreferences的方法中,用于获得String类型参数的方法是(A)
A、getString()
B、getStringExtra()
C、getStringValue()
D、getValue() - 在QQ登录案例中,显示上次用户输入的账号密码的代码,需要写在(B)方法中。
A、onStart()
B、onCreate()
C、onDestroy()
D、onStop() - 在Environment类中,用来获得SD根目录方法的是(B )
A、getDataDirectory()
B、getExternalStorageDirectory()
C、getExternalStorageState()
D、getDownloadCacheDirectory() - Android中开启事务的方法正确的是( B)
A、db.startTransaction()
B、db.beginTransaction()
C、db.endTransaction()
D、intent.startTransaction() - 在android中对数据库的表进行查询操作用SQLiteDatabase类中的那两个方法进行查询( B)
A、insert()和rawQuery()
B、query()和execSQL()
C、query()和rawQuery()
D、query()和update() - 在android中对数据库做增删改查有两种方式分别是SQLiteDatabase这个类中的哪几个方法 ( B).
A、第一种方式execSQL()和rawQuery()方法操作,第二种方式直接提供封装好的insert()、delete()、update()和query() 这四个方法操作;
B、第一种方式execSQL()方法操作,第二种方式直接提供封装好的insert()、delete()、update()和query() 这四个方法操作
C、两种方式都是用这个方法execSQL()
D、两种方式都是提供封装好的insert()、delete()、update()和query() 这四个方法操作; - Android系统中使用的数据库是( D)。
A、Oracel
B、SQLServer
C、MySQL
D、SQLite - Cursor中的(A)方法用于移动光标到下一行。
A、moveToNext()
B、moveToFirst()
C、moveToLast()
D、moveToPrevious() - 关于操作SQLite数据库,不正确的说法是(C ).
A、SQLiteOpenHelper类用来创建数据库和更新数据库
B、SQLiteDatabase类是用来操作数据库的
C、在每次调用SQLiteDatabase的getWritableDatabase()方法时,会执行SQLiteOpenHelper的onCreate方法。
D、当数据库版本发生变化时,可以自动更新数据库结构 - SQLiteOpenHelper中的(C)方法用于创建或打开一个只读的数据库。
A、onCreate
B、onUpgrade
C、getReadableDatabase
D、getWritableDatabase - 关于Android中sqlite3工具介绍不正确的是( A)
A、sqlite3工具是一个命令行工具
B、在使用sqlite3工具需要先开启模拟器或者真机
C、使用sqlite3工具应该进入到dos下进行操作
D、sqlite3工具是一个收费的查看数据库的工具 - 关于Android中sqlite3工具使用正确的是 D
A、adb sqlite3
B、ls -l sqlite3
C、sqlite3 cache
D、sqlite3 person.db - 在下列选项中,存放sqlite3命令行工具的目录是(A)
A、sdk/platform-tools
B、sdk/tools
C、sdk/platforms
D、sdk/build-tools - 在下列选项中,关于SQLiteOpenHelper的主要作用描述正确的是(C)
A、删除数据库表中的数据
B、修改数据库表中的数据
C、通过onCreate()方法和onUpgrade()方法管理数据库版本
D、管理数据库的事务 - 在SQLiteDatabase的方法中,开启数据库事务的方法是(A)
A、beginTransaction()
B、startTransaction()
C、getTransaction()
D、setTransactionSuccessful() - 为了让数据库帮助类TestDBHelper具有管理数据库版本的功能,需要让它继承的类是(A)
A、SQLiteOpenHelper
B、SQLiteDateBase
C、CursorFactory
D、DateBaseFactory - 事务操作完成后一定要使用(C)方法关闭事务
A、close()
B、end()
C、endTransaction()
D、以上说法都不对 - 在下列选项中,打开SQLite数据库的工具是(C)
A、open
B、sqlite
C、sqlite3
D、cat
判断题
- ContentProvider并不能实现数据存储。错误
- 在/data/data/包名/cache目录下可以cache软件的缓存数据,当清除缓存时数据就会删除。正确
- XML是文件存储的一种形式。正确。
- 在openFileOutput()方法中,接收的第一个参数表示/data/data/com.itheima.savetofile/目录下的一个文件名,用于指定存储数据的文件。正确
- Android中数据存储方式只有一种。错误
- Android中用 isChecked( ) 方法用来判断CheckBox控件是否选中?。正确
- 解析数据之前必须先初始化解析器XmlPullParser。正确
- Android 中获取到sp对象 SharedPreferences sp = new SharedPreferences();错误
- SharedPreferences是使用.properties文件存数数据的。错误,是xml
- Android中数据只能存储到sd卡上。错误
- 要将数据序列化,首先要做的是创建与XML相对应的序列化器(XmlSerializer)。正确
- Android 中xmlPullParser解析原理是基于事件进行解析。正确。。
- 序列化数据之前必须先初始化序列化器XmlSerializer。正确。
- 在QQ登录案例中,存储账号密码数据的文件是在data/data/包名/shared_prefs目录下。正确。
- Android中的五大存储数据方式包括文件、SQLite数据库、SharedPreferences、contentProvider、网络。正确
- Android 中我们可以通过Xml.newSerializer( )方式获取xml序列化对象。正确
- Android中使用openFileOutput(String name,int mode)方法获取到文件输出流时, 第二个参数mode常用模式有4种。正确
- 创建XmlSerializer serializer = new XmlSerializer();错误
- SQLite是遵守ACID关联式的数据库管理系统。(正确 )
- Android 中获取到SQLiteDatabase实例db后,可以通过db.beginTransaction()开启事务(正确 )
- Android中获取到SQLiteDatabase类实例后,可以对数据库进行增删改查操作.(正确 )
- Android 中sqlite3工具是命令行查看数据库的工具( 正确)
- Cursor的moveToPosition方法用于移动光标到指定位置。( 正确)
- getWritableDatabase()方法用于创建或打开一个读写的数据库。( 正确)
- db.beginTransaction()用于开启数据库的事务。( 正确)
- 关于Android中操作数据库, SQLiteOpenHelper类是用于操作数据库的.( 错误)
- SQLite支持 NULL、INTEGER、REAL(浮点数字)、TEXT(字符串文本)和BLOB(二进制对象)五种数据类型。(正确 )
- Android中,通常先使用sqlite3命令行工具打开数据库,然后做增删改查的操作。(正确 )
- 创建一个数据库帮助类TestDBHelper,需要继承父类SQLiteOpenHelper后才具有管理数据库版本的功能。( 正确)
- SQLite数据库的事务通常是在一组业务逻辑操作开始之前开启,在业务逻辑操作完成之后结束。( 正确)
填空题
- Android中sqlite3工具的作用是___输入和执行SQL命令____;
- ___SQLiteDatabase____是一个数据库访问类,该类封装了一系列数据库操作的API,可以对数据进行增删改查操作。
- Android系统中所使用的数据库是___SQLite____
- 在Android中使用的数据库为____SQLite___,它是一个轻量级的嵌入式数据库。
- 在操作SQLite数据库时___SQLiteDatabase____是用于操作数据库的
- SQLiteOpenHelper是一个__抽象_____类,该类用于创建数据库和数据库版本更新。
- 在操作SQLite数据库时,___SQLiteOpenHelper____类是用于创建数据库和更新数据库的
- Android中开启事务首先__创建SQLiteDatabase对象_____然后通过___beginTransaction方法____开启事务
- ____事务的原子性___是指SQLite数据库中的一组数据库操作要么同时成功要么同时失败。
- 在Android中,__SQLiteDatabase_____是用于操作数据库的增删改查的。
- Android中,通常使用__sqlite3_____命令行工具操作SQLite数据库。
- Android中如何获取到SharedPreferences实例对象__ Context对象调用getSharedPreferences方法,或者Activity对象调用getPreferences方法_________
- Android中数据存储常用目录是_____/data/data/应用包名/____
- Android中用使用___Xml_____解析器来解析xml文件
- Android中______IsChecked()___方法用来判断CheckBox控件是否选中?
- Android中把数据存储到sd卡对应的目录是__/sdcard_________
- 在存储用户信息案例中,使用___openFileOutput______方法得到/data/data/com.itheima.savetofile/info.txt路径的输出流。
- 可以使用___Xml序列化器(XmlSerializer类)_______把数据序列化到XML格式的文件上。
- Android中常见数据存储方式有___文件、网络、SharedPreferences、ContentProvider、SQLite数据库_______
- 在Android中有______5___种存储数据的方式。
- Android中使用openFileOutput()方法去获取文件输出流时,openFileOutput(String name,int mode) 中 mode模式有哪几种_ MODE_PRIVATE、MODE_APPEND、MODE_WORLD_READABLE、MODE_WORLD_WRITEABLE ________
- 在Activity中,可以使用__ openFileOutput_______方法可以打开/data/data/包名/files/a.txt文件的输出流对象。
- 在Android中,通常使用______ SharedPreferences ___存储软件设置的参数。
- 使用文件存储数据时,文件存储在软件的______/data/data/应用包名/files___目录下
五、第五章-安卓数据存储
- 关于BaseAdapter说法错误的是(D )
A、BaseAdapter是自定义的数据适配器
B、BaseAdapter是抽象的类 我们主要实现getCount方法和getView方法
C、BaseAdapter的getCount()方法的作用是返回Listview一共有多少个条目显示出来
D、BaseAdapter不是抽象的 可以直接使用 - 关于Listview下列说法正确的是(D )
A、Listview的条目没有点击事件
B、BaseAdapter的getCount方法返回每个条目的id对象
C、若listview当前能显示10条,一共有100条数据,则产生了100个view
D、Listview必须通过Adapter来提供数据 - 关于Fragment介绍错误的是( C).
A、在Android3.0版本开始提供了Fragment
B、Fragment主要应用到平板上
C、Fragment技术只能应用到3.0之后的系统上.
D、Fragment可以理解成是Activity的一部分. - 下列控件中,用于以列表形式展示数据的是( B)。
A、GridView
B、ListView
C、TextView
D、EditText - 关于SimpleAdapter说法正确的是( B).
A、SimpleAdapter是抽象类
B、SimpleAdapter数据适配器 每个item显示的内容用map来封装
C、Listview显示数据不可以使用simpleAdapter来显示
D、SimpleAdapter开发中用不到 - 在BaseAdapter的方法中,根据位置得到条目的ID的方法是(C)
A、getView()
B、getItem()
C、getItemId()
D、getCount() - 在BaseAdapter的方法中,根据位置返回一个条目的View的方法是(A)
A、getView()
B、getItem()
C、getItemView()
D、getItemId() - 关于BaseAdapter说法错误的是(C)
A、BaseAdapter是抽象类,我们主要实现getCount()方法和getView()方法
B、BaseAdapter是自定义的数据适配器
C、BaseAdapter不是抽象类,可以直接使用
D、BaseAdapter的getCount()方法的作用是返回ListView一共有多少个条目显示出来 - 以下Fragment说法错误的是( D).
A、Fragment(碎片)是一种可以嵌入在Activity中的UI片段,它能让程序更加合理地利用大屏幕空间,因而Fragment在平板上应用的非常广泛.
B、Fragment与Activity十分相似,它能包含布局,同时也具有自己的生命周期。
C、Fragment在Android 3.0版本才被引入
D、Fragment的生命周期函数比Activity少很多 - 在BaseAdapter的方法中,用来返回ListView显示条目个数的方法是(D)
A、getViewCount()
B、getItemCount()
C、getItems()
D、getCount() - 在下列选项中,用来给ListView填充数据的方法是(A)
A、setAdapter()
B、setDefaultAdapter()
C、setBaseAdapter()
D、setView() - 在下列选项中,把List集合中的Map类型数据填充在ListView上,使用的数据适配器是(B)
A、DefaultAdapter
B、ArrayAdapter
C、BaseAdapter
D、SimpleAdapter - 在下列选项中,把数组中的数据填充在ListView上的数据适配器是(B)
A、DefaultAdapter
B、ArrayAdapter
C、BaseAdapter
D、SimpleAdapter - 自定义一个数据适配器MyAdatper,需要让它继承的类是(C)
A、DefaultAdapter
B、ParentAdapter
C、BaseAdapter
D、BasicAdapter
判断题
- Fragment(碎片)是一种可以嵌入在Activity中的UI片段,它能让程序更加合理地利用大屏幕空间. 正确
- Android中BaseAdapter的getItemId()方法作用是返回Listview一共有多少条目需要被显示。错误
- Android中数组适配器ArrayAdapter显示数组的内容非常方便. 正确
- Android中BaseAdapter的getView方法作用是返回Listview每个条目具体显示的内容。正确
- Android 中ListView控件显示数据和TextView一样。错误
- 自定义数据适配器类时,继承的父类是DefaultAdapter。错误
- 使用V4包中的Fragment,通过getSupportFragment获取到Fragment的管理者.。正确
- BaseAdapter中的getItem( )方法作用是根据位置得到条目对象。正确
- ListView通常用于在界面上显示一个垂直滚动的列表。正确
- ArrayAdapter通常用来把数组中的数据填充在ListView上。正确
填空题
- Fragment技术在Android【3.0】版本开始被引入
- Android中Listview显示一个数组的内容,我们最好用哪个【ArrayAdapter】适配器
- Android中BaseAdapter中的getCount( )方法作用是【获取数据集中列表项的个数】
- Fragment(碎片)是一种可以嵌入在【Activity】中的UI片段,它能让程序更加合理地利用大屏幕空间.
- Android中BaseAdapter中的getView( )方法作用是【获取用于显示相应位置的数据】
- Android中的Listview是以【可滚动的列表】的形式展示数据.
- Android中SimpleAdapter数据适配器继承【BaseAdapter】类
- Android中Listview显示数据需要【ListView】
- BaseAdapter中的getView()方法作用是【获取用于显示相应位置的数据view】。
- Fragment【onCreateView()】生命周期方法是用来加载Fragment的View.
- 使用V4包中的Fragment,【getSupportFragement】获取到Fragment的管理者.
- 在Android中,通常使用【数组适配器】把数组中的数据填充在ListView上。
- 在Android中, 需要使用【SimpleAdapter】给ListView填充数据。
- 在Android中, 通常使用【ArrayAdapter】把List集合中的Map类型数据填充在ListView上。
- 在Android中,通常使用【ListView】控件在界面上显示一个垂直滚动的列表。
六、第六章-内容提供者
- 在ContentProvider中ContentUris的作用是干什么( C)。
A、用于获取Uri路径后面的ID部分
B、增删改查的方法都在这个类中
C、用于添加URI的类
D、根本就用不到这个类,没关系 - 利用内容解析者查询短信数据时uri怎么写(A )。
A、Uri uri = Uri.parse(“content://sms”);
B、Uri uri = Uri.parse(“content://sms/data”);
C、Uri uri = Uri.parse(“content://sms/contact”);
D、Uri uri = Uri.parse(“sms/”); - Android中创建内容提供者要继承(B )。
A、ContentData
B、ContentProvider
C、ContentObserver
D、ContentDataProvider - 在Android中的Activity种通过下面哪个方法来得到ContentResolver的实例对象。B
A、new ContentResolver
B、getContentResolver()
C、newInstance()
D、ContentUris.newInstance() - 若要实现对系统联系人的增删改查,需要使用的系统ContentProvider的Uri为( C)。
A、Contacts.Photos.CONTENT_URI
B、Contacts.People.CONTENT_URI
C、Contacts.Phones.CONTENT_URI
D、Media.EXTERNAL_CONTENT_URI - ContentProvider中的(C)方法根据传入的Uri查询指定条件下的数据。
A、delete
B、insert
C、query
D、update - 定义一个ContentProvider过程中,需要增加匹配的uri,请问在UriMatcher.addURI(“youAuthority”,”item/”,1)语句中井号代表(A)。
A、某个字段
B、表名
C、匹配任意URI
D、id - 当观察到的Uri代表的数据发生变化时,会触发ContentObserver中的(C)方法。
A、onCreate()
B、notifyChange()
C、onChange()
D、以上说法都不对 - 短信的内容提供者是(C)
A、ContactProvider
B、MessageProvider
C、SmsProvider
D、TelephonyProvider - 在下列选项中,联系人信息内容提供者的主机名是(D)
A、ontact
B、com.android.contacts
C、com.android.provider.contact
D、com.android.provider.contacts - 下面关于ContentProvider描述错误的是(C )。
A、ContentProvider可以暴露数据
B、ContentProvider用于实现跨程序共享数据
C、ContentProvider不是四大组件
D、ContentProvider通过Uri的形式对外提供数据 - 在下列选项中,关于内容提供者的说法错误的是(D)
A、ContentProvider 是一个抽象类,只有继承后才能使用
B、内容提供者只有在AndroidManifest.xml文件中注册后才能运行
C、内容提供者为其它应用程序提供了统一的访问数据库的方式
D、内容提供者不是抽象类 - 如果要调用现成的 ContentProvider,获得如下( B)对象才能调用其方法进行增删查改。
A、CursorLoader
B、ContentResolver
C、Cursor
D、ContentProvider - 下面哪些功能需要用ContentProvider来实现(A)。
A、读取系统中的短信内容
B、建立一个数据库
C、开机后自动启动一个程序
D、播放一段音乐 - 短信内容提供者的主机名是(B)
A、sms
B、com.android.sms
C、smsProvider
D、com.android.smsProvider - 在读取联系人信息案例中,没有操作的表是(D)
A、raw_contacts
B、data
C、mimetypes
D、contacts - 在Provider的节点中,用来指定内容提供者的主机名的属性是(A)
A、android:name
B、android:authorities
C、android:process
D、android:label - 可以在Activity中得到ContentResolver实例对象的方法是(B)
A、new ContentResolver()
B、getContentResolver()
C、newInstance()
D、ContentUris.newInstance() - 在下列选项中,关于ContentResolver的说法错误的是(D)
A、ContentResolver通过uri匹配到内容提供者
B、通过ContentResolver可以在其它应用程序中访问内容提供者
C、ContentResolver的增删改查方法与目标内容提供者的增删改查方法是一一对应
D、ContentResolver不需要通过uri匹配到内容提供者 - 自定义内容观察者时,继承的类是(B)
A、BaseObserver
B、ContentObserver
C、BasicObserver
D、DefaultObserver - 在下列选项中,关于content provider的功能说话正确的是(A)
A、读取系统中的短信内容
B、建立一个数据库
C、开机后自动启动一个程序
D、播放一段音乐 - 在Activity中,获得ContentResolver对象的方法是(A)
A、getContentResolver()
B、getResolver()
C、getContentResolvers()
D、getResolvers()
判断题
1、Uri是由scheme、authorites、path三部分组成。(正确 )
2、 Uri是指统一资源标示符。(正确 )
3、 ContentProvider与ContentResolver相互配合使用的。( 正确)
4、 path部分代表资源(或者数据),这个部分是不可改变的。(错误 )
5、 内容提供者主要功能是实现跨程序共享数据的功能。( 正确)
6、 ContentProvider中的getType()方法是用来获取当前Uri路径指定数据的类型。(正确 )
7、 provider中的android:authorities代表了访问本provider的路径,这里的路径不是唯一的。(错误 )
8、 provider中的android:name代表是继承于ContentProvider类的的全路径名称。( 正确)
9、 Android中创建内容提供者需要继承【ContentProvider】类。(正确 )
10、 ContentResolver的notifyChange(Uri uri,ContentObserver cob)方法中,参数ContentObserver表示数据发生变化时指定具体的观察者接收消息。(正确 )
11、 Android中的ContentResolver主要作用是获取通过内容提供者暴露出来的数据。(错误 )
12、 Android中使用内容解析者查询联系人数据库信息的时候我们只要关心2张表就可以了。(错误 )
13、 利用内容观察者可以监听短信数据库的变化,当短信数据库发生变化的时候会执行内容观察者的onChange()方法。(正确 )
14、 ContentProvider可以将数据暴露给其他程序。( 正确)
15、 Android中通过内容解析者查询短信数据库的内容时,不需要加入读短信的权限.( 错误)
16、 内容提供者为其他应用程序提供了统一的访问数据库的方式,可以让其他应用程序来调用。( 正确)
17、 Android中的ContentResolver是Android的四大组件之一。( 错误)
18、 Android中的短信数据库的内容我们可以直接通过内容解析者进行查询.(错误 )
19、 Android中创建内容提供者要继承ContentObserver。( 错误)
20、 联系人信息是存放在数据库的sms表中的。(正确 )
21、 内容提供者只有在AndroidManifest.xml文件中注册后,才能运行。(正确 )
22、 Android 中的ContentResolver 查询数据是通过url来获取内容提供者暴露的数据。(正确 )
23、 读取短息数据时,是通过内容提供者读取的。(错误 )
24、 在短信接收器案例中,自定义的短信内容提供者SmsContentObserver类,继承了ContentObserver类。( 正确)
25、 注册内容观察者是通过ContentResolver的registerContentObserver()方法注册的。( 正确)
26、 ContentResolver的增删改查方法与目标内容提供者的增删改查方法不是一一对应的。( 错误)
27、 在短信接收器案例中,短信内容提供者的数据发生变化时,会触发onChange()方法的调用。(正确 )
28、 ContentResolver是通过Uri匹配内容提供者的。( 正确)
填空题
1、 为了解析Uri对象,Android系统提供了一个辅助工具类__UriMatcher_____用于匹配Uri。
2、 Android中通过ContentResover.query()查询短信数据库的时候,第一个Uri参数如何写____Uri uri = Uri.parse(content://sms)___
3、 内容观察者是通过观察____ContentObserver___来观察数据库的变化
4、 _______是用来观察指定Uri所代表的数据。
5、 利用内容解析者读取短信数据库内容时,短信数据库___SmsInfo____表主要用来存储短信信息
6、 使用___ContentResolver____可以操作其他应用的数据。
7、 resolver.registerContentObserver()方法用于_______。
8、 创建UriMatcher对象时调用UriMatcher(int code),参数通常使用UriMatcher.NO_MATCH,表示路径不满足条件返回_____-1__。
9、 当ContentObserver观察到指定Uri代表的数据发生变化时,就会触发ContentObserver的___onChange()____方法。
内容提供者把私有的数据给暴露出来,我们通过______ContentResolver_来进行查询数据
10、 创建一个内容提供者类AccountContentProvider,需要让它继承父类__ContentProvider_____
11、 在Android中,是通过___ContentResolver____读取联系人信息的。
12、 注册provider时需要指定两个属性android.name_______和android:authorities。
13、 短信数据是存放在_SmsInfo______表中的。
14、 Android中通过内容提供者来读取联系人信息,____data___表用来保存联系人信息的.
15、 在短信接收器案例中,注册短信内容观察者时,使用的到Uri是__onChange_____。
16、 __内容观察者_____主要是用来观察内容提供者里面数据的变化情况。
17、 在Android中,通常使用_____消息中心__调用内容提供者
七、第七章-广播
- 关于BroadcastReceiver的说法不正确的是(D ).
• A、广播接收器是android四大组件之一
• B、对有序广播,系统会根据接收者声明的优先级别按顺序逐个执行接收者
• C、接收者声明的优先级别在的android:priority属性中声明,数值越大优先级别越高
• D、在配置文件manifest中配置接收器叫做动态注册 - 要发送一个广播,需要实现sendBroadcast方法,假设其中intent=new Intent(“com.itheima.myandroid”),那么com.itheima.myandroid (B ).
• A、是接收者activity的名字
• B、与接收广播的程序的配置文件中过滤器中的名字相同
• C、与定义的receiver的android:name相同
• D、以上都不对 - 注册一个短信到来的广播事件需要在清单文件配置什么权限(C ).
• A、
• B、
• C、
• D、 - Android中广播分为( B)种.
• A、1
• B、2
• C、3
• D、4 - 继承BroadcastReceiver会重写(A )方法。
• A、OnReceiver()
• B、onUpdate()
• C、onCreate()
• D、onStart() - 广播接收者需要在清单文件配置( A)节点
• A、receiver
• B、broadReceiver
• C、service
• D、contentProvider - 关于sendBroadcast()方法说法正确的是( B).
• A、该方法是发送一条有序广播
• B、该方法是发送一条无序广播
• C、该方法即是发送有序广播也可以发送无序广播
• D、以上说法都不正确 - 关于abortBroadcast说法正确的是(D)
• A、该方法的作用是发送有序广播
• B、该方法的作用是用于拦截无序广播
• C、发送一条有序广播
• D、通过该方法可以终止有序广播 - Android中定义广播接收者要继承( A).
• A、BroadcastReceiver
• B、BroadCast
• C、Receiver
• D、BroadcastReboot - 在清单文件中注册了NEW_OUTGOING_CALL,代码中获取到广播事件的方法是( A).
• A、getAction()
• B、getActionCall()
• C、getMethod()
• D、getOutCall() - 手机注册android.intent.action.BOOT_COMPLETED广播事件,说法正确的是( B)
• A、定义该广播接收者不需要在清单文件里面配置
• B、手机重启的广播事件需要添加相应的权限
• C、不需要任何的权限
• D、该广播事件会很浪费时间 - 关于短信拦截的广播事件说法错误的是( C).
• A、监听用户的短信到来的广播事件在高版本ADT里该事件找不到了
• B、需要注册 权限
• C、在国内国外都可用随意注册这样广播事件
• D、以上说法都正确 - 注册外拨电话的广播事件需要加的权限是(C ).
• A、不需要加权限
• B、
• C、
• D、 - (A)广播是当应用程序关闭后,如果接收到其他应用程序发出的广播,那么该程序会自动重新启动。
• A、常驻型广播
• B、非常驻型广播
• C、以上两种都可以
• D、以上说法都不对 - 关于广播接收者说法错误的是( D).
• A、Android中定义广播接收者要继承BroadCastReceiver
• B、Android中定义广播接收者的目的之一是方便我们开发者进行开发
• C、Android系统中内置了很多系统级别的广播
• D、Android中定义广播这个组件意义不是很大 - 关于有序广播和无序广播说法正确的是( A).
• A、有序广播可以被拦截 数据可以被修改,无序广播数据不可以被拦截,数据不可以被修改
• B、有序广播和无序广播类似
• C、有序广播不可以被拦截
• D、无序广播是按照优先级进行发送 - 有序广播可以通过(D )方法拦截广播.
• A、abort( )
• B、abortReceiver( )
• C、Receiver( )
• D、abortBroadcast( ) - Ip拨号器中我们把ip号码通过sharedPreferences保存起来,以下说法错误的是(D ).
• A、通过上下文来初始化sharedPreferences
• B、使用sharedPreferences需要获取sharedPreferences的编辑器.
• C、sharedPreferences保存数据后实际上生成了一个xml文件
• D、使用sharedPreferences初始化后可以直接保存数据. - 在清单文件中,注册广播时使用的节点是(B )。
• A、
• B、
• C、
• D、 - 自定义BroadcastReceiver时在androidManifest中用哪个标签定义(A )
• A、receiver
• B、activity
• C、application
• D、uses-sdk - 对于一些特殊的广播事件,比如屏幕锁屏和解锁,以下说法正确的是( A).
• A、对于这样的广播事件,需要采用动态代码的方式进行注册,在清单文件注册不生效
• B、直接在清单文件里面配置相应的动作就可以
• C、对文件操作的权限
• D、设置程序开机第一启动的权限 - setResultData()方法的作用是( C);
• A、修改广播接收者的数据
• B、修改数据并往下传递
• C、设置广播接收者的数据
• D、以上都不对 - 注册外拨电话的广播事件对应的action是( A).
• A、android_intent.action.NEW_OUTGOING_CALL
• B、android_intent.action.NEW_CALL
• C、android_intent.action.OUTGOINT_CALL
• D、android_intent.action.OUTGOINT_CALL_DATA - msBroadCastReceiver = new SmsBroadCastReceiver();IntentFilter intentFilter = new IntentFilter(“android.provider.Telephony.SMS_RECEIVED”);BroadCastReceiverActivity.this.registerReceiver(smsBroadCastReceiver, intentFilter);
请阅读以上代码,下面说法不正确的是( D)
• A、以上代码进行的是广播的动态注册过程,当程序退出后这个广播接收器将不能再接收到任何广播
• B、以上代码分别建立了一个广播接收器和一个意图过滤器
• C、以上代码进行的是广播的动态注册过程,如果得到广播意图的Action,则此接收器可以接收任何的广播
• D、以上代码进行了广播的注册过程,即使本程序退出后这个广播接收器仍能再接收发送的广播 - BroadcastReceiver广播中有几种注册方式(B ).
• A、一种
• B、两种
• C、三种
• D、四种 - 下列关于广播接收者,描述错误的是( C)。
• A、广播接收者是四大组件之一
• B、广播接收者必须要在清单文件中注册
• C、广播接收者无需注册就可以监听广播事件
• D、广播接收者创建时需要继承BroadcastReceiver - 在android中android:permission="android.permission.RECEIVE_BOOT_COMPLETED"权限是干什么的( D).
• A、没什么用
• B、在数据库增删改查时用的权限
• C、对文件操作的权限
• D、设置程序开机第一启动的权限
判断题
- Android中定义广播接收者,定义一个类要继承BroadCastReceiver类.( 正确)
- 有序广播配置优先级对应的属性是property.( 错误) android:property
- 配置手机重启的广播事件不需要加额外的权限.(错误 )
- Android中广播接收者事件可以在清单文件里面注册,也可以通过代码的方式注册.(正确 )
- Android中通过sendBroadCast方法发送无序广播( 正确)
- 广播接收者不在清单文件中注册也能接收广播。(正确)
- 手机重启对应的广播事件是BOOT_COMPLETED.(正确 )
- 代码注册广播需要调用registerReceiver方法.(正确 )
- Android程序中,广播只有一种即无序广播.( 错误)
- 拦截有序广播的对应的方法是abortBroadcast().(正确 )
- Android中广播接收者必须在清单文件里面注册( 错误)
- BroadcastReceiver广播中有2种注册方式.(正确 )
- 注册外拨电话的广播事件时不需要加额外的权限.(错误 )
- 广播分有序广播和无序广播.( 正确)
- 注册系统短信到来的广播事件不需要接收短信的权限.(错误 )
- 通过sendOrderBroadCast发送有序广播可以指定一个最终的广播接收者.(正确 )
- 有序广播和无序广播都可以被拦截.( 错误)
- 广播接收者只能监听来自程序的广播,不能监听来自系统的广播。( 错误)
- 注册系统短信到来的广播事件需要加接收短信的权限.( 正确)
- 一个广播事件可以有多个广播接收者接收。( 正确)
- 发送自定义广播可以通过sendbroadCast方法进行发送( 正确)
- Android系统内置了很多广播,例如手机开机完成会发送一条广播。(正确 )
- Android中广播分为有序广播和无序广播2种.(正确 )
- 有序广播和无序广播都可以被拦截.( 错误)
- 注册外拨电话的广播事件对应的action是android_intent.action.NEW_OUTGOING_CALL .(正确 )
- Android中所有广播接收事件必须都在清单文件注册.( 错误)
填空题
- ( abortBroadcast() )方法可以用来拦截有序广播,终止广播。
- Android中发送有序广播和无序广播分别对应哪两个方法( sendOrderedBroadcast() ),( sendbroadercast() )。
- 有序广播配置优先级需要在清单文件配置( android:property )属性.
- 代码注册广播需要调用( registerReceiver() )方法,解除广播需要调用( unregisterReceiver() )方法。
- sendBroadCast是发送( 无序 )广播.
- 注册系统短信到来的广播事件类型的action是( android:promission.RECEIVE_SMS ).
- 拦截有序广播的方法是( abortBroadcast ).
- 在Android系统中,广播分为( 有序 )广播和( 无序 )广播。
- BroadcastReceiver广播中有( 2 )种注册方式.
- 注册广播有两种方式,常驻型广播与( 非常驻型广播 )。
- 开机自动运行android程序的广播在android的manifest文件中添加的action属性是( ).
- ( sendOrderedBroadcast() )方法是发送有序广播.
- Android中定义广播接收者要继承( BroadcastRecivier )类.
- 手机重启对应的广播事件是( antion android:name=” android.intent.action.BOOT_COMPLETED” ).
- 注册系统短信到来的广播事件需要加入的权限是( android .permission.RECEIVE_SMS ).
- 广播是一种运用在应用程序之间( 消息传递 )的机制。
- 在清单文件中注册了NEW_OUTGOING_CALL,代码中获取到广播事件的方法是( getOutCall() ).
- ( 广播接收者 )是用于过滤、接收并响应广播的一类组件。
- Android清单文件配置广播接收者需要配置( receiver )节点。
- 注册外拨电话的广播事件是( antion android:name=” android.intent.action.NEW_OUTGOING_CALL )。
八、第八章-服务
- 关于AIDL说法正确的是( B)
A、AIDL语言是java语言的演变
B、IPC全称是Interface process communication,AIDL语言可以解决进程间通信
C、AIDL语言语法复杂,学习成本高
D、以上说法都不正确 - Context.startService方式的service生命周期下面正确的描述是( A).
A、启动时 onCreate() –> onStart()
B、停止时,onStop()–> onDestroy()
C、启动时 onCreate()–>onStart()->onResume()
D、停止时,onStop() - 以下关于Service的说法,正确的是(C )
A、Service是可以与用户直接交换
B、每个Service class可以在AndroidManifest.xml文件中有相应的< service>声明,也可以不声明直接使用
C、Service是Android四大组件之一
D、Service只能通过startService方式开启 - 关于Service和Thread的区别说法,不正确的是( B).
A、service默认运行在声明它的应用进程的主线程中。
B、service里可以执行密集运算或阻塞操作
C、可以在Service里创建一个Thread
D、当有耗时或阻塞的操作时应该在其中创建一个线程. - 关于MediaPlayer说法正确的是( C)
A、MediaPlayer只能播放音频文件
B、MediaPlayer播放音频文件必须放到Service里面
C、MediaPlayer既可以播放音频文件也可以播放视频文件
D、以上说法都不正确 - 以startService开启服务以下说法正确的是( A)
A、startService方式开启服务,服务一旦被开启,服务就会在后台长期运行
B、服务开启后只能关机后才能关闭服务
C、服务不需要在清单文件里注册
D、服务停止时会调用onStop() - android中绑定一个service的方法是哪个( A).
A、bindService()
B、startService()
C、unBindService()
D、onBind() - 通过bindService方式开启服务,服务生命周期是(C )
A、onCreate()—onStart()—onBind()—onDestroy()
B、onCreate()—onBind()—onDestroy()
C、onCreate()—onBind()—onUnBind()—onDestroy()
D、onCreate()—onStart()—onBind()—onUnBind()—onDestroy() - 关于远程服务和本地服务说法正确的是( )C.
A、远程服务是在Tomcat服务器上的服务
B、本地服务和远程服务一样
C、AIDL是用来解决进程间通信的语言
D、以上都不正确 - 把播放音乐的操作放到Service里以下说法正确的是(D ).
A、可以提供运行效率
B、播放音乐的操作必须放入到服务里
C、在Service里更安全
D、放到服务里目的是提升进程的优先级,不容易被系统回收 - 关于IPC说法正确的是( A)
A、IPC全称是Inner process communication指进程间通信
B、IPC全称是Interface process communication
C、进程间通信指的是在一个应用内进行通信
D、以上说法都不正确 - 以下关于服务的生命周期说法正确的是(B )
A、服务的生命周期和Activity一样
B、服务的创建会执行onCreate()
C、启动时 onCreate()–>onStart()->onResume()
D、通过startService方式开启服务,首先会调用onCreate 和 onStart方法 - 通过bindService方法来启动一个Service那么服务的生命周期正确的是( C).
A、onCreate()—onStart()—onBind()—onDestroy()
B、onCreate()—onBind()—onDestroy()
C、onCreate()—onBind()—onUnbind()—onDestroy()
D、onCreate()—onStart()—onBind()—onUnBind()—onDestroy() - 以下关于Service的说法,不正确的是( B)。
A、Service是没有用户可见的界面,不与用户交互
B、每个Service class可以在AndroidManifest.xml文件中有相应的< service>声明,也可以不声明直接使用
C、Service可以通过 Context.startService()来启动
D、Service可以通过Context.bindService()来启动 - 关于服务的创建说法错误的是( D).
A、Android中创建服务需要继承Service类
B、Android 中的服务需要在清单文件配置
C、Android 中的服务可以理解成是在后台运行且没有界面的activity
D、Android中定服务能做的事情完全可以开一个子线程替代 - 关于AIDL描述错误的是( B).
A、AIDL全称是Android interface definition Language
B、AIDL出现目的是解决进程间通信
C、AIDL定义接口的源代码必须以.aidl结尾
D、AIDL语言就是java语言的演变
判断题
- Android中想要创建一个服务,定义一个类继承Service,并需要在清单文件中注册.(正确 )
- 通过bind方式开启服务,服务被成功绑定后会调用服务的onBind方法。( 正确)
- 通过startService方式开启服务,首先会调用OnCreate方法,多次调用startService方法只会调用onStart()方法.(错误 )
- 通过bindService方式开启服务和通过startService方式开启服务,服务的生命周期一样.(错误 )
- IPC全称是Inner process communication叫进程间通信(正确 )
- 服务只有一种开启方式即startService().(错误 )
- Android中服务的生命周期和Activity的生命周期一样.( 错误)
- AIDL语言是用来解决进程间通信(错误 )
- 通过startService()方式开启服务首先会调用服务的onCreate方法,然后调用服务的OnStartCommand方法,当开启服务的Activity退出时,会执行服务的onDestroy方法。( 正确)
- 创建一个Service,需要在清单文件中进行配置(正确 )
- Android中服务可以理解成是在后台长期运行并且没有界面的activity.(正确 )
- 远程服务和本地服务都运行在同一个进程中.( 错误)
- 远程服务是指运行在Tomcat上的服务(错误 )
- AIDL 全称是Android interface definition language叫Android接口定义语言.( 正确)
- Android中服务是四大组件之一.(正确 )
- 我们把播放音乐操作最后放到Service里进行操作.(正确 )
- Android中创建服务组件需要继承Service类。( 正确)
填空题
- 通过bindService方式开启服务,服务的生命周期是__ onCreate()->onBind()->onUnBind()->onDestroy()_____.
- Android进程间通信(IPC)可以通过____AIDL___技术来进行通信
- 通过Context.startService()方式开启服务后在,再次调用开启服务的方法会执行服务生命周期的_______方法.
- IPC的全称是___ Inter-Process Communication_____.
- 创建一个Service,需要在_清单______文件中进行配置.
- 服务可以通过____startService___方法和____bindService___方法来开启服务.
- 通过bindService方式开启服务后,当服务的调用者关闭后需要对服务进行解绑服务,解绑服务调用的方法是____onUnBind()___.
- 我们把播放音乐操作最后放到___AIDL____里进行操作.
- 本地服务和远程服务通过___Service____来实现服务的通信
- Android中创建服务需要继承___onBind()____类.
- 通过bindService方式开启服务,服务被绑定成功后调用服务的___onBind()____方法.
- 采用startService()方法开启服务,肯定会调用_onCreat______方法。
- 通过bindService方式开启的服务,__onUnBind()_____方法可以进行解绑服务.
- 在Android中,用于管理后台服务的控件是_Service______。
- 采用___startService____方法开启服务后,多次调用该方法,只会执行onStart方法.
- Android中服务需要在清单文件中配置____service___节点.
- Android中有_____StartService__方式开启服务和__bindService()_____方式开启服务.
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)