说明

Android移动应用开发章节练习题,注意

  • 此答案并非标准答案,仅供期末复习参考。
  • 加粗题目为强调题目

目录

  • 第一章-安卓基础入门
  • 第二章-安卓常见页面布局
  • 第三章-安卓常见页面控件
  • 第四章-安卓程序活动单元Activity
  • 第五章-安卓数据存储
  • 第六章-内容提供者
  • 第七章-广播

一、第一章-安卓基础入门

  1. Android安装包文件简称APK,其后缀名是(A)
    • A、apk
    • B、exe
    • C、txt
    • D、app
  2. Android 工程中存放各种程序资源的目录是(C)
    • A、src
    • B、gen
    • C、res
    • D、bin
  3. Android项目中的布局文件放在哪个目录下(A)
    • A、res/layout
    • B、res/value
    • C、assets
    • D、res/drawable
  4. 在创建Android工程时,填写的Minimum Required SDK是(B)
    • A、匹配的目标版本
    • B、程序最低兼容的版本
    • C、使用哪个SDK版本编译程序
    • D、SDK的主题
  5. 在下列选项中,关于Android工程中的assets目录的说法正确的是(B)
    • A、存放使用到的图片资源
    • B、主要存放一些文件资源,这些文件会被原封不动的打包到APK文件中
    • C、存放字符串、颜色、数组等常量数据
    • D、存放与UI相应的布局文件

判断题

  1. Android 工程中gen目录是自动生成的,主要有一个R.java文件,该文件可手动修改 错误
  2. Linux内核层为Android设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动等 对
  3. Android操作系统并不是开源的 错误
  4. Android系统是基于Linux平台开发的 对
  5. 创建程序时,填写的Package Name表示项目名称 错误
  6. Android 工程中AndroidManifest.xml文件是整个程序的配置文件 对
  7. SDKManager.exe是Android SDK的管理器,双击它可以看到所有可下载的Android SDK版本 对
  8. Android是Google公司基于Linux平台开发的手机及平板电脑操作系统 对
  9. Android系统采用分层架构,由高到低分为4层,依次是应用程序层、应用程序框架层、核心类库和Linux内核 对
  10. 填空题
  11. 创建程序时,填写的Application Name表示___应用名称_ _____
  12. 在Android项目程序开发完成后中,必须__打包成__ ___正式的Android安装文件,才能发布到互联网上让用户下载使用。
  13. Android 工程中src目录下存放___ _所有的Java代码___文件

二、第二章-安卓常见页面布局

  1. 下列表示Toast较长时间显示的是(A)。
    • A、Toast.LENGTH_LONG
    • B、Toast.LONG
    • C、Toast.LENGTH_SHORT
    • D、Toast.SHORT
  2. 在相对布局文件中,把控件显示在另外一个控件的右侧使用的属性是(A)
    • A、layout_toRightOf
    • B、layout_toLeftOf
    • C、layout_toStartOf
    • D、layout_toEndOf
  3. 在帧布局中的子控件默认是(B)对齐的。
    • A、右上角
    • B、左上角
    • C、左下角
    • D、右下角
  4. Android相对布局中,使控件相对父控件底部对齐使用的属性是(A)。
    • A、android:layout_alignParentBottom
    • B、android:layout_alignBottom
    • C、android:layout_alignBaseline
    • D、android:layout_alignParentTop
  5. 在下列选项中,用于给Activity指定主题的属性是(C)
    • A、icon
    • B、label
    • C、theme
    • D、style
  6. Android UI开发中,如果TableLayout的第一个TableRow有两个控件,第二个TableRow有三个控件,那这个TableLayout就有(C)列。
    • A、1
    • B、2
    • C、3
    • D、4
  7. 在下列选项中,用于给控件指定主题的属性是(C)
    • A、icon
    • B、label
    • C、theme
    • D、style
  8. 绝对布局的标签名称是(D)
    • A、FrameLayout
    • B、LinearLayout
    • C、RelativeLayout
    • D、AbsoluteLayout
  9. 在相对布局文件中,把控件与另外一个控件的下边使用的属性是(C)
    • A、layout_above
    • B、padding
    • C、layout_below
    • D、layout_margin
  10. 在下列选项中,设置GridLayout中的某控件占3行的是(B)
    • A、android:rowSpan=“3”
    • B、android:layout_rowSpan=“3”
    • C、android:layout_columnSpan=“3”
    • D、android:layout_column=“3”
  11. 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"
  12. Android UI开发中,设置线性布局为垂直显示需修改的属性的(A)
    • A、android:orientation=“vertical”
    • B、android:orientation=“horizontal”
    • C、android:layout_centerHorizontal=“true”
    • D、android:layout_centerVertical=“true”
  13. Android UI开发中,如何设置GridLayout列数为4(B)。
    • A、android:columnCount=“4”
    • B、android:layout_columnCount=“4”
    • C、android:column=“4”
    • D、android:stretchColumns=“4”
  14. 在Android UI开发中,常见的刮刮卡是通过(A)实现的。
    • A、FrameLayout
    • B、LinearLayout
    • C、RelativeLayout
    • D、TableLayout
  15. 样式文件是在( D)目录下创建的。
    • A、colors
    • B、dimens
    • C、strings
    • D、styles
  16. 在网格布局中,设置列数的属性是(B)
    • A、column
    • B、columnCount
    • C、layout_columnCount
    • D、stretchColumns
  17. 在下列选项中,设置线性布局方向的属性是(A)
    • A、orientation
    • B、gravity
    • C、layout_gravity
    • D、padding
  18. 在布局文件中,给Button指定单击事件响应方法的属性是(A)
    • A、onClick
    • B、hint
    • C、enabled
    • D、focusable
  19. Android相对布局中,要使A控件在B控件的下方,A控件需添加的属性是(C)
    • A、android:layout_above
    • B、android:layout_alignBaseline
    • C、android:layout_below
    • D、android:layout_alignBottom
  20. 在下列选项中,用于给Activity指定主题的属性是(C)
    • A、icon
    • B、label
    • C、theme
    • D、style
  21. Android UI开发中,TableLayout的stretchColumns属性表示(D)
    • A、TableLayout的列数
    • B、TableLayout的行数
    • C、TableLayout最多能加入的列数
    • D、拉伸指定列填充满TableLayout
  22. 在下列选项中,关于TableRow标签的说法正确的是(C)
    • A、在GridView里面表示一行
    • B、是五种布局的一种
    • C、是表格布局里面表示一行的标签
    • D、在listView里面表示一行
  23. 在线性布局文件中,把方向设置为水平方的属性是(B)
    • A、vertical
    • B、horizontal
    • C、fill_vertical
    • D、fill_horizontal
  24. 放入绝对布局中的控件需要通过____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
  25. Android UI开发中,在GridLayout中如何设置某控件占3行(B)
    • A、android:layout_columnSpan=“3”
    • B、android:layout_rowSpan=“3”
    • C、android:rowSpan=“3”
    • D、android:layout_column=“3”
  26. 在下列选项中,表示Toast较短时间显示信息的是(C)。
    • A、Toast.LENGTH_LONG
    • B、Toast.LONG
    • C、Toast.LENGTH_SHORT
    • D、Toast.SHORT

判断题

  1. 在Android UI开发中,通常情况下使用主题定义一个界面或者整个软件界面的风格,使用样式定义控件的风格。 正确

  2. Android UI开发中,线性布局默认为水平显示。正确

  3. 在Activity代码中同样也可以引用自定义主题,只需要在Activity类onCreate()方法内添加setTheme()方法即可。正确

  4. Android中的网格布局使用GridLayout控件表示。正确

  5. Toast.makeText(context,text,time)必须在调用了show()方法后才能把信息显示出来。正确

  6. Android UI开发中,如果一个应用中使用了主题,同时应用下的View也使用了样式,那么当主题和样式中的属性发生冲突时,主题的优先级高于样式。错误

  7. Android UI开发中,文本框可以在界面上显示文字,通常作为提示信息展示。正确

  8. 当用@string/xxx方式引用一个文本资源时,Android系统会首先判断手机设置的语言和地区,然后通过这些信息去对应values目录下strings.xml文件,引用其中的内容。正确

  9. 帧布局在界面上是一帧一帧显示的。正确

  10. 国际化Internationalization这个单词的首字母“I”和尾字母“N”之间有18个字符,因此国际化被简称为I18N。正确

  11. Android 代码中加入Toast.makeText(Context,Text,Time);即可显示Toast。错误

  12. Android UI开发中,相对布局通常有两种形式,一种是相对于容器而言的,一种是相对于控件而言的。正确

  13. 样式中的<item>标签是用来声明属性值的。正确

  14. TextView控件通常用于在界面上显示文字信息。正确

  15. 理论上绝对布局可以完成任何的布局设计,且灵活性很大,所以开发中推荐使用绝对布局。错误

  16. TableLayout可以将视图按照行、列进行排列。正确

  17. 相对布局中的控件都是按照相对位置摆放的。正确

  18. 绝对布局灵活性很大, 可以完成任何的布局设计,所以开发中推荐使用绝对布局。错误

  19. 在线性布局文件中,如果把方向设置为水平方向,控件会摆放在同一行。 正确

  20. 填空题

  21. ___EditText______控件可以输入文字,且可以通过inputType属性控制输入的内容只能是数字或者字母等。

  22. 当主题和样式中的属性发生冲突时,主题的优先级要____低于____样式。

  23. Android UI开发中,网格布局是_____Android4.0____新增的布局,它实现了控件的交错显示,能够避免因布局嵌套对设备性能的影响,更利于自由布局的开发。

  24. Android开发中,想让软件支持简体中文、美式英语两种环境,需要在res目录下新建两个values文件夹,分别命名为___values-zh-rCN、values-en-rUS________。

  25. Android UI开发中,线性布局主要有两种形式,一种是水平线性布局,一种是__垂直______线性布局

  26. ____帧布局____是Android布局中最简单的一种,为每个加入其中的控件创建一个空白区域(称为一帧,每个控件占据一帧)

  27. Android UI开发中,TableLayout的行数由____TableRow_____对象控制的

  28. ____Theme_____是应用到整个Activity和Application的样式。

  29. 在Android系统中,线性布局使用____LinearLayout________控件表示。

  30. Android系统中,_____style_____用于定义布局显示在界面上的风格

  31. Toast.makeText(Context,Text,Time)中的“Time”表示显示时长,该属性有特定的值,Toast.LENGTH_LONG表示较长时间显示,_____Toast.LENGTH_SHORT______表示较短时间显示

  32. 主题与样式在代码结构上是一样的,不同之处在于主题的引用要在__AndroidMainifest.xml______文件中引用。

  33. Android有自己的国际化规范和方法,布局中所有文字资源只有通过_____R.string.<string_name>___方式引用才能起到效果

  34. 在清单文件中,<application>标签中的andorid:theme属性,代表的是____Application___主题的样式,而标签中是改变_____Activity___主题的样式

  35. Android系统中,_____style____用于定义控件的风格

  36. 在Activity代码中同样也可以引用自定义主题,只需要在Activity类onCreate()方法内添加__setTheme()_________方法即可。

  37. _____绝对布局___需要通过指定x、y坐标来控制每一个组件的位置,放入该布局的组件需要通过android:layout_x和android:layout_y两个属性指定其准确的坐标值,并显示在屏幕上。

  38. Toast.makeText(context,text,time)中的text是__要显示的字符串_______

  39. 在_____EditText____控件中可以输入文字,并且可以通过inputType属性控制输入的内容只能是数字或者字母等。

  40. 网格布局的标签是__GridLayout_________

  41. 相对布局的标签是_____RelativeLayout______

  42. 帧布局的标签是 FrameLayout___

  43. 国际化Internationalization这个单词的首字母“I”和尾字母“N”之间有18个字符,因此国际化被简称为_____i18N__

  44. 表格布局的标签是______TableLayout___

三、第三章-安卓常见页面控件

  1. 在下列选项中,设置ProgressBar的最大进度的方法是(A)
    • A、setMax()
    • B、setProgress()
    • C、setCurrentProgress ()
    • D、setTotalProgress()
  2. Android使用(A)的方式来管理Activity的实例
    • A、任务栈
    • B、任务堆
    • C、队列
    • D、任务列
  3. 下面代码采用的是(C)启动Activity

    • A、显示意图
    • B、显式意图
    • C、隐式意图
    • D、隐示意图
  4. onActivityResult()方法有三个参数,其中(B)表示在返回数据时传入结果码
    • A、requestCode
    • B、resultCode
    • C、data
    • D、result
  5. 在startActivityForResult方法表示请求码的参数是(A)
    • A、requestCode
    • B、resultCode
    • C、data
    • D、intent
  6. Android中Intent传递类对象时,该类对象需实现(D)或Parcelable接口
    • A、Copyings接口
    • B、Copying接口
    • C、Serializables接口
    • D、Serializable接口
  7. 多个RadioButton要实现单选,需要包裹在哪一个控件里(C)
    • A、RatingBar
    • B、RatingBars
    • C、RadioGroup
    • D、RadioGroups
  8. 在下列选项中,用来设置Activity的启动模式的属性是(B)
    • A、android:launch
    • B、android:launchMode
    • C、android:launchMethod
    • D、android:launchProperty
  9. (B)启动模式与standard类似,不同的是,当启动的Activity已经位于栈顶时,则直接使用它不创建新的实例
    • A、singleTask
    • B、singleTop
    • C、singleTask和 singleTop
    • D、singleInstance
  10. Activity在(A)状态时处于屏幕最前端,它是可见、有焦点的,可以与用户进行交互?
    • A、启动状态
    • B、运行状态
    • C、暂停状态
    • D、停止状态
  11. 启动系统相机使用的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
  12. 下列不是onActivityResult()方法参数的是(D)
    • A、requestCode
    • B、resultCode
    • C、data
    • D、result
  13. 没有明确指定组件名的Intent称为(C)
    • A、显示意图
    • B、显式意图
    • C、隐式意图
    • D、隐示意图
  14. (C)启动模式是指,每次启动该Activity时,系统会这个Activity的实例作为一个任务压入任务栈的栈顶,每次销毁一个Activity时,系统会从任务栈中把这个Activity实例对应的任务移除。
    • A、singleTask
    • B、singleTop
    • C、standard
    • D、singleInstance
  15. 当Activity的启动模式指定为(A),每次启动该Activity时,系统首先会检查栈中是否存在该活动的实例,如果发现已经存在则直接使用该实例,并将当前Activity之上的所有Activity出栈,如果没有发现则创建一个新的实例
    • A、singleTask
    • B、singleTop
    • C、standard
    • D、singleInstance
  16. Android采用(A)的方式来管理Activity的实例
    • A、任务栈
    • B、任务堆
    • C、队列
    • D、任务列
  17. 在下列选项中,不能使用Intent传递的数据类型是(B)
    • A、把大基本数据类型及其数组
    • B、Map
    • C、Parcelable
    • D、Serializable
  18. 在下列选项中,用来设置Activity的启动模式的属性是(B)
    • A、android:launch
    • B、android:launchMode
    • C、android:launchMethod
    • D、android:launchProperty
  19. 在下列选项中,关于onActivityResult方法中的参数描述错误的是(D)
    • A、requestCode,表示在启动Activity时传递的请求码
    • B、resultCode,表示在返回数据时传入结果码
    • C、data,表示携带返回数据的Intent
    • D、data,表示启动Activity时传递的Intent
  20. 下列能打开系统相机的方法是(C)
    • A、显示意图
    • B、显式意图
    • C、隐式意图
    • D、隐示意图
  21. 下列能打开系统相机的方法是(A)
    • A、onStart()
    • B、onResume()
    • C、onPause()
    • D、onDestroy()
  22. 下列选项中不能通过Intent传递的是(C)
    • A、“数据”
    • B、2
    • C、对象obj
    • D、实现Serializable接口的对象obj
  23. Activity在(C)状态是对用户来说仍然可见,但它无法获取焦点,用户对它操作没有响应。
    • A、启动状态
    • B、运行状态
    • C、暂停状态
    • D、停止状态
  24. 在下列选项中, 可以获得Intent中String类型参数的方法是(B)
    • A、getExtraString(string)
    • B、getStringExtra(string)
    • C、getStringPut(string)
    • D、getPutString(string)
  25. Activity通过(B)方法可以设置它的布局文件
    • A、setContentViews()
    • B、setContentView()
    • C、setLayoutView()
    • D、setLayoutViews()
  26. 两个RadioButton要实现单选需要包裹在(B)中
    • A、RadioGroups
    • B、RadioGroup
    • C、RatingBar
    • D、RatingBars
  27. Activity通过(B)方法可以设置它的布局文件,并把视图显示在界面上。
    • A、setLayoutView()
    • B、setContentView()
    • C、setLayoutViews()
    • D、setContentViews()
  28. (C)是指在开启组件时,不需要直接指定目标组件的名称,而是通过指定一组动作、数据、类型等属性,让系统从清单文件中匹配指定的组件并开启它。
    • A、显示意图
    • B、显式意图
    • C、隐式意图
    • D、隐示意图
  29. Activity的布局文件放在哪个目录下(A)
    • A、res/layout
    • B、res/layouts
    • C、res/xml
    • D、res/values
  30. 开启当前应用中的Activity使用(B)
    • A、显示意图
    • B、显式意图
    • C、隐式意图
    • D、隐示意图
  31. Activity获取焦点时执行方法是(B)
    • A、onStart()
    • B、onResume()
    • C、onPause()
    • D、onDestroy()

判断题

  1. Activity的生命周期分为五种状态,分别是启动状态、运行状态、暂停状态、停止状态和销毁状态。正确
  2. 当Activity处于运行状态时,Android会尽可能地保持它的运行,即使出现内存不足的情况,Android也会先杀死栈底部的Activity,来确保可见的Activity正常运行。正确
  3. Activity默认的启动模式是standard,在不指定启动模式的情况下,Activity使用的都是standard模式。正确
  4. 栈是一种“先进先出”的数据结构。错误
  5. 当Activity处于销毁状态时,将被清理出内存。正确
  6. ProgressBar通常用于访问网络展示loading对话框以及下载文件时显示的进度。它有两种表现形式,一种是水平的,另一种是环形的。正确
  7. 使用Intent传递数据只需调用putExtra()方法将想要存储的数据存在Intent中即可。 正确
  8. 在用户注册案例中展示用户信息Activity可以通过getIntent()方法获取到Intent对象,然后通过该对象的getStringExtra()方法拿到输入的用户名。正确
  9. Activity默认的启动模式是standard,在不指定启动模式的情况下,Activity使用的都是standard模式。正确
  10. Activity可以不用在AndroidManifest.xml文件中注册就可以运行。错误
  11. 显示意图,即启动Activity时不需要指定Activity的名称。错误
  12. 创建一个Activity必须继承自android.app.Activity或者其子类。正确
  13. 关闭Activity的界面时会执行onPause、onStop、onDestroy方法。正确
  14. Activity不是Context的子类。错误
  15. Activity的启动状态很短暂,一般情况下,当Activity启动之后便会进入运行状态。正确
  16. 显式意图,即启动Activity时不需要指定Activity的名称。错误
  17. ProgressBar有两种表现形式,一种是水平的,另一种是环形的。正确
  18. standard是Activity默认的启动模式,在不指定Activity启动模式的情况下,所有Activity使用的都是standard这种模式。正确
  19. 在目标Activity中,通常使用setResult方法设置返回数据。 正确
  20. standard是Activity默认的启动模式,在不指定Activity启动模式的情况下,所有Activity使用的都是standard这种模式。正确
  21. 通常一个应用程序对应一个任务栈,默认情况下每启动一个Activity都会入栈,并处于栈顶位置。正确
  22. 启动系统相机使用的action是android.media.action.VIDEO_CAPTURE。错误
  23. 启动系统相机使用的action是android.media.action.IMAGE_CAPTURE。正确
  24. 使用Intent传递数据时,可以使用putExtra()方法把参数封装到Intent中。正确
  25. Android中Intent传递类对象提供了两种方式一种是 通过实现Serializable接口传递对象,一种是通过实现Parcelable接口传递对象。正确
  26. 在用户注册案例中展示用户信息Activity可以通过getIntent()方法获取到Intent对象,然后通过该对象的getStringExtra()方法得到输入的用户名。正确
  27. 当用startActivityForResult()启动activity B时,可以在onActivityResult()方法接收activity B回传的数据。正确
  28. 使用Intent不能传递Parcelable类型的对象。 错误

填空题

  1. 通过____getIntent___方法可以获取到Intent对象
  2. Activity的启动模式有四种,分别是standard、singleTop、_____singleTask_____和singleInstance
  3. Activity的startActivityForResult()方法接收两个参数,第一个参数是Intent,第二个参数是___自定义常量______,用于在判断数据的来源
  4. __Intent_______可以用来开启Activity,同样它也可以用来在Activity之间传递数据
  5. 一个对象从创建到销毁的过程被称为该对象的______生命周期_____
  6. Andorid提供了一个____setResult_____方法,来实现回传数据
  7. ___ProcessBar_______通常用于访问网络展示loading对话框以及下载文件时显示的进度
  8. ______Intent___是Android程序各个组件进行交互的一种重要方式,它不仅可以指定当前组件要执行的动作,还可以在不同组件之间进行数据传递
  9. 采用______隐式_____意图可以启动系统的相机
  10. ______Activity____是Android应用程序的四大组件之一,它负责管理Android应用程序的用户界面
  11. Android中Intent寻找目标组件的方式分为两种,分别是__显式______和_隐式________
  12. Activity的生命周期中分为三种状态,分别是运行状态、____暂停状态______和停止状态
  13. Activity从启动到完全出现在用户面前会执行onCreate(),__onStart()_______,onResume()三个方法
  14. ___生命周期_______就是一个对象从创建到销毁的过程,每一个对象都会经过这个过程
  15. 通过_____getIntent()__ _方法可以获取到Intent对象
  16. _____ ProcessBar ___控件通常用于显示进度信息。
  17. 当Activity处于____运行_____状态时,Android会尽可能地保持它的运行,即使出现内存不足的情况,Android也会先销毁栈底的Activity,来确保当前Activity正常运行。
  18. 通常一个应用程序对应一个任务栈,默认情况下每启动一个Activity都会入栈,并处于___栈顶_____位置。
  19. Activity的启动模式有四种,分别是standard、singleTop_____、singleTask和singleInstance
  20. Activity对用户来说仍然可见,但它无法获取焦点,用户对它操作没有响应,此时它就处于______暂停状态____
  21. 打开Activity的界面时会执行onCreate,onStart,__onResume________三个方法。
  22. 在Activity生命周期的方法中, ___onCreate______方法是在Activity实例对象被创建后用来初始化这个实例对象的
  23. 在Android中通常使用_____Intent_____传递数据。
  24. 意图分为两类,分别是____显式____和______隐式___
  25. 在Activity中使用____starActivityForResult_______方法开启目标Activity,并期待目标Activity返回数据。
  26. 在Activity中使用____onActivityResult_________方法接收目标Activity返回的数据。
  27. 创建______Activity___时需要继承父类android.app.Activity或者其子类。
  28. ____Intent_____的作用是激活组件和传递参数。

四、第四章-程序活动单元Activity

  1. sharedPreferences读取数据时,其中有一个方法是getString(key, defValue),该方法中的defValue参数是什么(C)。
    A、key所对应的value值
    B、无做用
    C、是当用getString得到数据时如果没有得到key值所对应的value值,就给定一个默认的值。
    D、key值
  2. 在SharedPreferences的方法中,使用(C)方法可以得到一个编辑器Editor对象,然后通过这个Editor对象存储数据。
    A、editor()
    B、getEditor()
    C、edit()
    D、getEdit ()
  3. 在Activity中,可以得到/data/data/com.itheima.savetofile/info.txt路径的输入流的方法是 (A)
    A、openFileInput()
    B、openFilesInput()
    C、openFileOutput()
    D、openFilesOutput()
  4. 在下列选项中,Android中的五大存储数据方式不包括(D)
    A、文件
    B、SQLite数据库
    C、SharedPreferences
    D、Map
    E、网络
  5. Android中判断CheckBox控件是否选中的方法是(D )。
    A、isLogin()
    B、isBoolean()
    C、onClick()
    D、isChecked()
  6. Android中使用serializer对象生成xml 文档开头的方法是(A )。
    A、startDocument
    B、startTag
    C、endTag
    D、endDocument
  7. 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();
  8. Android中使用xmlPullParser解析器解析xml,判断解析到文件末尾的方法是( B)。
    A、XmlPullParser.END_TAG
    B、XmlPullParser.END_DOCUMENT
    C、XmlPullParser.END_TAG_DOCUMENT
    D、XmlPullParser.END_ATTRIBUTE
  9. 在下列选项中,不属于XmlPullParser的事件类型的是(E)
    A、END_DOCUMENT
    B、START_TAG
    C、END_TAG
    D、START_DOCUMENT
    E、END_TEXT
  10. 在QQ登录案例中,获得保存在SharedPreferences中的账号密码,调用的方法是(A)
    A、getString()
    B、getStringExtra ()
    C、getStringValue()
    D、getValue()
  11. 在下列选项中,SD卡的根目录是(B )
    A、/mnt
    B、/mnt/sdcard
    C、/data
    D、/data/data
  12. 在XmlSerializer的方法中,向XML文件中写一个开始标签的方法是(B)
    A、startDocument
    B、startTag
    C、text
    D、endTag
  13. 以下哪个选项不属于openFileOutput方法与 getSharedPreferences方法的文件操作模式参数( D)。
    A、Context.MODE_PRIVATE;
    B、Context.MODE_APPEND;
    C、Context.MODE_WORLD_READABLE;
    D、Context.MODE_WORLD;
  14. 在Editor的方法中,用于存储String类型参数的方法是(D)
    A、set()
    B、setString()
    C、put()
    D、putString()
  15. Android中使用xmlPullParser解析器解析xml, 获取解析事件类型的方法是( C) 。
    A、getDocument()
    B、getDocumentTag()
    C、getEventType()
    D、getAttribute()
  16. 在XmlPullParser的方法中,初始化解析器的方法是(A)
    A、setInput()
    B、setOutput()
    C、getEventType()
    D、setEventType()
  17. 在下列选项中,关于openFileInput()方法接收的参数,描述正确的是(C)
    A、一个输入流对象
    B、一个目录对象
    C、/data/data/com.itheima.savetofile/目录下一个文件的名称
    D、一个输出流对象
  18. 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);
  19. 在XmlPullParser的方法中,获得标签体内容的方法是(C)
    A、getName()
    B、next()
    C、nextText()
    D、getEventType()
  20. 在SharedPreferences的方法中,用于获得String类型参数的方法是(A)
    A、getString()
    B、getStringExtra()
    C、getStringValue()
    D、getValue()
  21. 在QQ登录案例中,显示上次用户输入的账号密码的代码,需要写在(B)方法中。
    A、onStart()
    B、onCreate()
    C、onDestroy()
    D、onStop()
  22. 在Environment类中,用来获得SD根目录方法的是(B )
    A、getDataDirectory()
    B、getExternalStorageDirectory()
    C、getExternalStorageState()
    D、getDownloadCacheDirectory()
  23. Android中开启事务的方法正确的是( B)
    A、db.startTransaction()
    B、db.beginTransaction()
    C、db.endTransaction()
    D、intent.startTransaction()
  24. 在android中对数据库的表进行查询操作用SQLiteDatabase类中的那两个方法进行查询( B)
    A、insert()和rawQuery()
    B、query()和execSQL()
    C、query()和rawQuery()
    D、query()和update()
  25. 在android中对数据库做增删改查有两种方式分别是SQLiteDatabase这个类中的哪几个方法 ( B).
    A、第一种方式execSQL()和rawQuery()方法操作,第二种方式直接提供封装好的insert()、delete()、update()和query() 这四个方法操作;
    B、第一种方式execSQL()方法操作,第二种方式直接提供封装好的insert()、delete()、update()和query() 这四个方法操作
    C、两种方式都是用这个方法execSQL()
    D、两种方式都是提供封装好的insert()、delete()、update()和query() 这四个方法操作;
  26. Android系统中使用的数据库是( D)。
    A、Oracel
    B、SQLServer
    C、MySQL
    D、SQLite
  27. Cursor中的(A)方法用于移动光标到下一行。
    A、moveToNext()
    B、moveToFirst()
    C、moveToLast()
    D、moveToPrevious()
  28. 关于操作SQLite数据库,不正确的说法是(C ).
    A、SQLiteOpenHelper类用来创建数据库和更新数据库
    B、SQLiteDatabase类是用来操作数据库的
    C、在每次调用SQLiteDatabase的getWritableDatabase()方法时,会执行SQLiteOpenHelper的onCreate方法。
    D、当数据库版本发生变化时,可以自动更新数据库结构
  29. SQLiteOpenHelper中的(C)方法用于创建或打开一个只读的数据库。
    A、onCreate
    B、onUpgrade
    C、getReadableDatabase
    D、getWritableDatabase
  30. 关于Android中sqlite3工具介绍不正确的是( A)
    A、sqlite3工具是一个命令行工具
    B、在使用sqlite3工具需要先开启模拟器或者真机
    C、使用sqlite3工具应该进入到dos下进行操作
    D、sqlite3工具是一个收费的查看数据库的工具
  31. 关于Android中sqlite3工具使用正确的是 D
    A、adb sqlite3
    B、ls -l sqlite3
    C、sqlite3 cache
    D、sqlite3 person.db
  32. 在下列选项中,存放sqlite3命令行工具的目录是(A)
    A、sdk/platform-tools
    B、sdk/tools
    C、sdk/platforms
    D、sdk/build-tools
  33. 在下列选项中,关于SQLiteOpenHelper的主要作用描述正确的是(C)
    A、删除数据库表中的数据
    B、修改数据库表中的数据
    C、通过onCreate()方法和onUpgrade()方法管理数据库版本
    D、管理数据库的事务
  34. 在SQLiteDatabase的方法中,开启数据库事务的方法是(A)
    A、beginTransaction()
    B、startTransaction()
    C、getTransaction()
    D、setTransactionSuccessful()
  35. 为了让数据库帮助类TestDBHelper具有管理数据库版本的功能,需要让它继承的类是(A)
    A、SQLiteOpenHelper
    B、SQLiteDateBase
    C、CursorFactory
    D、DateBaseFactory
  36. 事务操作完成后一定要使用(C)方法关闭事务
    A、close()
    B、end()
    C、endTransaction()
    D、以上说法都不对
  37. 在下列选项中,打开SQLite数据库的工具是(C)
    A、open
    B、sqlite
    C、sqlite3
    D、cat

判断题

  1. ContentProvider并不能实现数据存储。错误
  2. 在/data/data/包名/cache目录下可以cache软件的缓存数据,当清除缓存时数据就会删除。正确
  3. XML是文件存储的一种形式。正确。
  4. 在openFileOutput()方法中,接收的第一个参数表示/data/data/com.itheima.savetofile/目录下的一个文件名,用于指定存储数据的文件。正确
  5. Android中数据存储方式只有一种。错误
  6. Android中用 isChecked( ) 方法用来判断CheckBox控件是否选中?。正确
  7. 解析数据之前必须先初始化解析器XmlPullParser。正确
  8. Android 中获取到sp对象 SharedPreferences sp = new SharedPreferences();错误
  9. SharedPreferences是使用.properties文件存数数据的。错误,是xml
  10. Android中数据只能存储到sd卡上。错误
  11. 要将数据序列化,首先要做的是创建与XML相对应的序列化器(XmlSerializer)。正确
  12. Android 中xmlPullParser解析原理是基于事件进行解析。正确。。
  13. 序列化数据之前必须先初始化序列化器XmlSerializer。正确。
  14. 在QQ登录案例中,存储账号密码数据的文件是在data/data/包名/shared_prefs目录下。正确。
  15. Android中的五大存储数据方式包括文件、SQLite数据库、SharedPreferences、contentProvider、网络。正确
  16. Android 中我们可以通过Xml.newSerializer( )方式获取xml序列化对象。正确
  17. Android中使用openFileOutput(String name,int mode)方法获取到文件输出流时, 第二个参数mode常用模式有4种。正确
  18. 创建XmlSerializer serializer = new XmlSerializer();错误
  19. SQLite是遵守ACID关联式的数据库管理系统。(正确 )
  20. Android 中获取到SQLiteDatabase实例db后,可以通过db.beginTransaction()开启事务(正确 )
  21. Android中获取到SQLiteDatabase类实例后,可以对数据库进行增删改查操作.(正确 )
  22. Android 中sqlite3工具是命令行查看数据库的工具( 正确)
  23. Cursor的moveToPosition方法用于移动光标到指定位置。( 正确)
  24. getWritableDatabase()方法用于创建或打开一个读写的数据库。( 正确)
  25. db.beginTransaction()用于开启数据库的事务。( 正确)
  26. 关于Android中操作数据库, SQLiteOpenHelper类是用于操作数据库的.( 错误)
  27. SQLite支持 NULL、INTEGER、REAL(浮点数字)、TEXT(字符串文本)和BLOB(二进制对象)五种数据类型。(正确 )
  28. Android中,通常先使用sqlite3命令行工具打开数据库,然后做增删改查的操作。(正确 )
  29. 创建一个数据库帮助类TestDBHelper,需要继承父类SQLiteOpenHelper后才具有管理数据库版本的功能。( 正确)
  30. SQLite数据库的事务通常是在一组业务逻辑操作开始之前开启,在业务逻辑操作完成之后结束。( 正确)

填空题

  1. Android中sqlite3工具的作用是___输入和执行SQL命令____;
  2. ___SQLiteDatabase____是一个数据库访问类,该类封装了一系列数据库操作的API,可以对数据进行增删改查操作。
  3. Android系统中所使用的数据库是___SQLite____
  4. 在Android中使用的数据库为____SQLite___,它是一个轻量级的嵌入式数据库。
  5. 在操作SQLite数据库时___SQLiteDatabase____是用于操作数据库的
  6. SQLiteOpenHelper是一个__抽象_____类,该类用于创建数据库和数据库版本更新。
  7. 在操作SQLite数据库时,___SQLiteOpenHelper____类是用于创建数据库和更新数据库的
  8. Android中开启事务首先__创建SQLiteDatabase对象_____然后通过___beginTransaction方法____开启事务
  9. ____事务的原子性___是指SQLite数据库中的一组数据库操作要么同时成功要么同时失败。
  10. 在Android中,__SQLiteDatabase_____是用于操作数据库的增删改查的。
  11. Android中,通常使用__sqlite3_____命令行工具操作SQLite数据库。
  12. Android中如何获取到SharedPreferences实例对象__ Context对象调用getSharedPreferences方法,或者Activity对象调用getPreferences方法_________
  13. Android中数据存储常用目录是_____/data/data/应用包名/____
  14. Android中用使用___Xml_____解析器来解析xml文件
  15. Android中______IsChecked()___方法用来判断CheckBox控件是否选中?
  16. Android中把数据存储到sd卡对应的目录是__/sdcard_________
  17. 在存储用户信息案例中,使用___openFileOutput______方法得到/data/data/com.itheima.savetofile/info.txt路径的输出流。
  18. 可以使用___Xml序列化器(XmlSerializer类)_______把数据序列化到XML格式的文件上。
  19. Android中常见数据存储方式有___文件、网络、SharedPreferences、ContentProvider、SQLite数据库_______
  20. 在Android中有______5___种存储数据的方式。
  21. Android中使用openFileOutput()方法去获取文件输出流时,openFileOutput(String name,int mode) 中 mode模式有哪几种_ MODE_PRIVATE、MODE_APPEND、MODE_WORLD_READABLE、MODE_WORLD_WRITEABLE ________
  22. 在Activity中,可以使用__ openFileOutput_______方法可以打开/data/data/包名/files/a.txt文件的输出流对象。
  23. 在Android中,通常使用______ SharedPreferences ___存储软件设置的参数。
  24. 使用文件存储数据时,文件存储在软件的______/data/data/应用包名/files___目录下

五、第五章-安卓数据存储

  1. 关于BaseAdapter说法错误的是(D )
    A、BaseAdapter是自定义的数据适配器
    B、BaseAdapter是抽象的类 我们主要实现getCount方法和getView方法
    C、BaseAdapter的getCount()方法的作用是返回Listview一共有多少个条目显示出来
    D、BaseAdapter不是抽象的 可以直接使用
  2. 关于Listview下列说法正确的是(D )
    A、Listview的条目没有点击事件
    B、BaseAdapter的getCount方法返回每个条目的id对象
    C、若listview当前能显示10条,一共有100条数据,则产生了100个view
    D、Listview必须通过Adapter来提供数据
  3. 关于Fragment介绍错误的是( C).
    A、在Android3.0版本开始提供了Fragment
    B、Fragment主要应用到平板上
    C、Fragment技术只能应用到3.0之后的系统上.
    D、Fragment可以理解成是Activity的一部分.
  4. 下列控件中,用于以列表形式展示数据的是( B)。
    A、GridView
    B、ListView
    C、TextView
    D、EditText
  5. 关于SimpleAdapter说法正确的是( B).
    A、SimpleAdapter是抽象类
    B、SimpleAdapter数据适配器 每个item显示的内容用map来封装
    C、Listview显示数据不可以使用simpleAdapter来显示
    D、SimpleAdapter开发中用不到
  6. 在BaseAdapter的方法中,根据位置得到条目的ID的方法是(C)
    A、getView()
    B、getItem()
    C、getItemId()
    D、getCount()
  7. 在BaseAdapter的方法中,根据位置返回一个条目的View的方法是(A)
    A、getView()
    B、getItem()
    C、getItemView()
    D、getItemId()
  8. 关于BaseAdapter说法错误的是(C)
    A、BaseAdapter是抽象类,我们主要实现getCount()方法和getView()方法
    B、BaseAdapter是自定义的数据适配器
    C、BaseAdapter不是抽象类,可以直接使用
    D、BaseAdapter的getCount()方法的作用是返回ListView一共有多少个条目显示出来
  9. 以下Fragment说法错误的是( D).
    A、Fragment(碎片)是一种可以嵌入在Activity中的UI片段,它能让程序更加合理地利用大屏幕空间,因而Fragment在平板上应用的非常广泛.
    B、Fragment与Activity十分相似,它能包含布局,同时也具有自己的生命周期。
    C、Fragment在Android 3.0版本才被引入
    D、Fragment的生命周期函数比Activity少很多
  10. 在BaseAdapter的方法中,用来返回ListView显示条目个数的方法是(D)
    A、getViewCount()
    B、getItemCount()
    C、getItems()
    D、getCount()
  11. 在下列选项中,用来给ListView填充数据的方法是(A)
    A、setAdapter()
    B、setDefaultAdapter()
    C、setBaseAdapter()
    D、setView()
  12. 在下列选项中,把List集合中的Map类型数据填充在ListView上,使用的数据适配器是(B)
    A、DefaultAdapter
    B、ArrayAdapter
    C、BaseAdapter
    D、SimpleAdapter
  13. 在下列选项中,把数组中的数据填充在ListView上的数据适配器是(B)
    A、DefaultAdapter
    B、ArrayAdapter
    C、BaseAdapter
    D、SimpleAdapter
  14. 自定义一个数据适配器MyAdatper,需要让它继承的类是(C)
    A、DefaultAdapter
    B、ParentAdapter
    C、BaseAdapter
    D、BasicAdapter

判断题

  1. Fragment(碎片)是一种可以嵌入在Activity中的UI片段,它能让程序更加合理地利用大屏幕空间. 正确
  2. Android中BaseAdapter的getItemId()方法作用是返回Listview一共有多少条目需要被显示。错误
  3. Android中数组适配器ArrayAdapter显示数组的内容非常方便. 正确
  4. Android中BaseAdapter的getView方法作用是返回Listview每个条目具体显示的内容。正确
  5. Android 中ListView控件显示数据和TextView一样。错误
  6. 自定义数据适配器类时,继承的父类是DefaultAdapter。错误
  7. 使用V4包中的Fragment,通过getSupportFragment获取到Fragment的管理者.。正确
  8. BaseAdapter中的getItem( )方法作用是根据位置得到条目对象。正确
  9. ListView通常用于在界面上显示一个垂直滚动的列表。正确
  10. ArrayAdapter通常用来把数组中的数据填充在ListView上。正确

填空题

  1. Fragment技术在Android【3.0】版本开始被引入
  2. Android中Listview显示一个数组的内容,我们最好用哪个【ArrayAdapter】适配器
  3. Android中BaseAdapter中的getCount( )方法作用是【获取数据集中列表项的个数】
  4. Fragment(碎片)是一种可以嵌入在【Activity】中的UI片段,它能让程序更加合理地利用大屏幕空间.
  5. Android中BaseAdapter中的getView( )方法作用是【获取用于显示相应位置的数据】
  6. Android中的Listview是以【可滚动的列表】的形式展示数据.
  7. Android中SimpleAdapter数据适配器继承【BaseAdapter】类
  8. Android中Listview显示数据需要【ListView】
  9. BaseAdapter中的getView()方法作用是【获取用于显示相应位置的数据view】。
  10. Fragment【onCreateView()】生命周期方法是用来加载Fragment的View.
  11. 使用V4包中的Fragment,【getSupportFragement】获取到Fragment的管理者.
  12. 在Android中,通常使用【数组适配器】把数组中的数据填充在ListView上。
  13. 在Android中, 需要使用【SimpleAdapter】给ListView填充数据。
  14. 在Android中, 通常使用【ArrayAdapter】把List集合中的Map类型数据填充在ListView上。
  15. 在Android中,通常使用【ListView】控件在界面上显示一个垂直滚动的列表。

六、第六章-内容提供者

  1. 在ContentProvider中ContentUris的作用是干什么( C)。
    A、用于获取Uri路径后面的ID部分
    B、增删改查的方法都在这个类中
    C、用于添加URI的类
    D、根本就用不到这个类,没关系
  2. 利用内容解析者查询短信数据时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/”);
  3. Android中创建内容提供者要继承(B )。
    A、ContentData
    B、ContentProvider
    C、ContentObserver
    D、ContentDataProvider
  4. 在Android中的Activity种通过下面哪个方法来得到ContentResolver的实例对象。B
    A、new ContentResolver
    B、getContentResolver()
    C、newInstance()
    D、ContentUris.newInstance()
  5. 若要实现对系统联系人的增删改查,需要使用的系统ContentProvider的Uri为( C)。
    A、Contacts.Photos.CONTENT_URI
    B、Contacts.People.CONTENT_URI
    C、Contacts.Phones.CONTENT_URI
    D、Media.EXTERNAL_CONTENT_URI
  6. ContentProvider中的(C)方法根据传入的Uri查询指定条件下的数据。
    A、delete
    B、insert
    C、query
    D、update
  7. 定义一个ContentProvider过程中,需要增加匹配的uri,请问在UriMatcher.addURI(“youAuthority”,”item/”,1)语句中井号代表(A)。
    A、某个字段
    B、表名
    C、匹配任意URI
    D、id
  8. 当观察到的Uri代表的数据发生变化时,会触发ContentObserver中的(C)方法。
    A、onCreate()
    B、notifyChange()
    C、onChange()
    D、以上说法都不对
  9. 短信的内容提供者是(C)
    A、ContactProvider
    B、MessageProvider
    C、SmsProvider
    D、TelephonyProvider
  10. 在下列选项中,联系人信息内容提供者的主机名是(D)
    A、ontact
    B、com.android.contacts
    C、com.android.provider.contact
    D、com.android.provider.contacts
  11. 下面关于ContentProvider描述错误的是(C )。
    A、ContentProvider可以暴露数据
    B、ContentProvider用于实现跨程序共享数据
    C、ContentProvider不是四大组件
    D、ContentProvider通过Uri的形式对外提供数据
  12. 在下列选项中,关于内容提供者的说法错误的是(D)
    A、ContentProvider 是一个抽象类,只有继承后才能使用
    B、内容提供者只有在AndroidManifest.xml文件中注册后才能运行
    C、内容提供者为其它应用程序提供了统一的访问数据库的方式
    D、内容提供者不是抽象类
  13. 如果要调用现成的 ContentProvider,获得如下( B)对象才能调用其方法进行增删查改。
    A、CursorLoader
    B、ContentResolver
    C、Cursor
    D、ContentProvider
  14. 下面哪些功能需要用ContentProvider来实现(A)。
    A、读取系统中的短信内容
    B、建立一个数据库
    C、开机后自动启动一个程序
    D、播放一段音乐
  15. 短信内容提供者的主机名是(B)
    A、sms
    B、com.android.sms
    C、smsProvider
    D、com.android.smsProvider
  16. 在读取联系人信息案例中,没有操作的表是(D)
    A、raw_contacts
    B、data
    C、mimetypes
    D、contacts
  17. 在Provider的节点中,用来指定内容提供者的主机名的属性是(A)
    A、android:name
    B、android:authorities
    C、android:process
    D、android:label
  18. 可以在Activity中得到ContentResolver实例对象的方法是(B)
    A、new ContentResolver()
    B、getContentResolver()
    C、newInstance()
    D、ContentUris.newInstance()
  19. 在下列选项中,关于ContentResolver的说法错误的是(D)
    A、ContentResolver通过uri匹配到内容提供者
    B、通过ContentResolver可以在其它应用程序中访问内容提供者
    C、ContentResolver的增删改查方法与目标内容提供者的增删改查方法是一一对应
    D、ContentResolver不需要通过uri匹配到内容提供者
  20. 自定义内容观察者时,继承的类是(B)
    A、BaseObserver
    B、ContentObserver
    C、BasicObserver
    D、DefaultObserver
  21. 在下列选项中,关于content provider的功能说话正确的是(A)
    A、读取系统中的短信内容
    B、建立一个数据库
    C、开机后自动启动一个程序
    D、播放一段音乐
  22. 在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中,通常使用_____消息中心__调用内容提供者

七、第七章-广播

  1. 关于BroadcastReceiver的说法不正确的是(D ).
    • A、广播接收器是android四大组件之一
    • B、对有序广播,系统会根据接收者声明的优先级别按顺序逐个执行接收者
    • C、接收者声明的优先级别在的android:priority属性中声明,数值越大优先级别越高
    • D、在配置文件manifest中配置接收器叫做动态注册
  2. 要发送一个广播,需要实现sendBroadcast方法,假设其中intent=new Intent(“com.itheima.myandroid”),那么com.itheima.myandroid (B ).
    • A、是接收者activity的名字
    • B、与接收广播的程序的配置文件中过滤器中的名字相同
    • C、与定义的receiver的android:name相同
    • D、以上都不对
  3. 注册一个短信到来的广播事件需要在清单文件配置什么权限(C ).
    • A、
    • B、
    • C、
    • D、
  4. Android中广播分为( B)种.
    • A、1
    • B、2
    • C、3
    • D、4
  5. 继承BroadcastReceiver会重写(A )方法。
    • A、OnReceiver()
    • B、onUpdate()
    • C、onCreate()
    • D、onStart()
  6. 广播接收者需要在清单文件配置( A)节点
    • A、receiver
    • B、broadReceiver
    • C、service
    • D、contentProvider
  7. 关于sendBroadcast()方法说法正确的是( B).
    • A、该方法是发送一条有序广播
    • B、该方法是发送一条无序广播
    • C、该方法即是发送有序广播也可以发送无序广播
    • D、以上说法都不正确
  8. 关于abortBroadcast说法正确的是(D)
    • A、该方法的作用是发送有序广播
    • B、该方法的作用是用于拦截无序广播
    • C、发送一条有序广播
    • D、通过该方法可以终止有序广播
  9. Android中定义广播接收者要继承( A).
    • A、BroadcastReceiver
    • B、BroadCast
    • C、Receiver
    • D、BroadcastReboot
  10. 在清单文件中注册了NEW_OUTGOING_CALL,代码中获取到广播事件的方法是( A).
    • A、getAction()
    • B、getActionCall()
    • C、getMethod()
    • D、getOutCall()
  11. 手机注册android.intent.action.BOOT_COMPLETED广播事件,说法正确的是( B)
    • A、定义该广播接收者不需要在清单文件里面配置
    • B、手机重启的广播事件需要添加相应的权限
    • C、不需要任何的权限
    • D、该广播事件会很浪费时间
  12. 关于短信拦截的广播事件说法错误的是( C).
    • A、监听用户的短信到来的广播事件在高版本ADT里该事件找不到了
    • B、需要注册 权限
    • C、在国内国外都可用随意注册这样广播事件
    • D、以上说法都正确
  13. 注册外拨电话的广播事件需要加的权限是(C ).
    • A、不需要加权限
    • B、
    • C、
    • D、
  14. (A)广播是当应用程序关闭后,如果接收到其他应用程序发出的广播,那么该程序会自动重新启动。
    • A、常驻型广播
    • B、非常驻型广播
    • C、以上两种都可以
    • D、以上说法都不对
  15. 关于广播接收者说法错误的是( D).
    • A、Android中定义广播接收者要继承BroadCastReceiver
    • B、Android中定义广播接收者的目的之一是方便我们开发者进行开发
    • C、Android系统中内置了很多系统级别的广播
    • D、Android中定义广播这个组件意义不是很大
  16. 关于有序广播和无序广播说法正确的是( A).
    • A、有序广播可以被拦截 数据可以被修改,无序广播数据不可以被拦截,数据不可以被修改
    • B、有序广播和无序广播类似
    • C、有序广播不可以被拦截
    • D、无序广播是按照优先级进行发送
  17. 有序广播可以通过(D )方法拦截广播.
    • A、abort( )
    • B、abortReceiver( )
    • C、Receiver( )
    • D、abortBroadcast( )
  18. Ip拨号器中我们把ip号码通过sharedPreferences保存起来,以下说法错误的是(D ).
    • A、通过上下文来初始化sharedPreferences
    • B、使用sharedPreferences需要获取sharedPreferences的编辑器.
    • C、sharedPreferences保存数据后实际上生成了一个xml文件
    • D、使用sharedPreferences初始化后可以直接保存数据.
  19. 在清单文件中,注册广播时使用的节点是(B )。
    • A、
    • B、
    • C、
    • D、
  20. 自定义BroadcastReceiver时在androidManifest中用哪个标签定义(A )
    • A、receiver
    • B、activity
    • C、application
    • D、uses-sdk
  21. 对于一些特殊的广播事件,比如屏幕锁屏和解锁,以下说法正确的是( A).
    • A、对于这样的广播事件,需要采用动态代码的方式进行注册,在清单文件注册不生效
    • B、直接在清单文件里面配置相应的动作就可以
    • C、对文件操作的权限
    • D、设置程序开机第一启动的权限
  22. setResultData()方法的作用是( C);
    • A、修改广播接收者的数据
    • B、修改数据并往下传递
    • C、设置广播接收者的数据
    • D、以上都不对
  23. 注册外拨电话的广播事件对应的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
  24. msBroadCastReceiver = new SmsBroadCastReceiver();IntentFilter intentFilter = new IntentFilter(“android.provider.Telephony.SMS_RECEIVED”);BroadCastReceiverActivity.this.registerReceiver(smsBroadCastReceiver, intentFilter);
    请阅读以上代码,下面说法不正确的是( D)
    • A、以上代码进行的是广播的动态注册过程,当程序退出后这个广播接收器将不能再接收到任何广播
    • B、以上代码分别建立了一个广播接收器和一个意图过滤器
    • C、以上代码进行的是广播的动态注册过程,如果得到广播意图的Action,则此接收器可以接收任何的广播
    • D、以上代码进行了广播的注册过程,即使本程序退出后这个广播接收器仍能再接收发送的广播
  25. BroadcastReceiver广播中有几种注册方式(B ).
    • A、一种
    • B、两种
    • C、三种
    • D、四种
  26. 下列关于广播接收者,描述错误的是( C)。
    • A、广播接收者是四大组件之一
    • B、广播接收者必须要在清单文件中注册
    • C、广播接收者无需注册就可以监听广播事件
    • D、广播接收者创建时需要继承BroadcastReceiver
  27. 在android中android:permission="android.permission.RECEIVE_BOOT_COMPLETED"权限是干什么的( D).
    • A、没什么用
    • B、在数据库增删改查时用的权限
    • C、对文件操作的权限
    • D、设置程序开机第一启动的权限

判断题

  1. Android中定义广播接收者,定义一个类要继承BroadCastReceiver类.( 正确)
  2. 有序广播配置优先级对应的属性是property.( 错误) android:property
  3. 配置手机重启的广播事件不需要加额外的权限.(错误 )
  4. Android中广播接收者事件可以在清单文件里面注册,也可以通过代码的方式注册.(正确 )
  5. Android中通过sendBroadCast方法发送无序广播( 正确)
  6. 广播接收者不在清单文件中注册也能接收广播。(正确)
  7. 手机重启对应的广播事件是BOOT_COMPLETED.(正确 )
  8. 代码注册广播需要调用registerReceiver方法.(正确 )
  9. Android程序中,广播只有一种即无序广播.( 错误)
  10. 拦截有序广播的对应的方法是abortBroadcast().(正确 )
  11. Android中广播接收者必须在清单文件里面注册( 错误)
  12. BroadcastReceiver广播中有2种注册方式.(正确 )
  13. 注册外拨电话的广播事件时不需要加额外的权限.(错误 )
  14. 广播分有序广播和无序广播.( 正确)
  15. 注册系统短信到来的广播事件不需要接收短信的权限.(错误 )
  16. 通过sendOrderBroadCast发送有序广播可以指定一个最终的广播接收者.(正确 )
  17. 有序广播和无序广播都可以被拦截.( 错误)
  18. 广播接收者只能监听来自程序的广播,不能监听来自系统的广播。( 错误)
  19. 注册系统短信到来的广播事件需要加接收短信的权限.( 正确)
  20. 一个广播事件可以有多个广播接收者接收。( 正确)
  21. 发送自定义广播可以通过sendbroadCast方法进行发送( 正确)
  22. Android系统内置了很多广播,例如手机开机完成会发送一条广播。(正确 )
  23. Android中广播分为有序广播和无序广播2种.(正确 )
  24. 有序广播和无序广播都可以被拦截.( 错误)
  25. 注册外拨电话的广播事件对应的action是android_intent.action.NEW_OUTGOING_CALL .(正确 )
  26. Android中所有广播接收事件必须都在清单文件注册.( 错误)

填空题

  1. ( abortBroadcast() )方法可以用来拦截有序广播,终止广播。
  2. Android中发送有序广播和无序广播分别对应哪两个方法( sendOrderedBroadcast() ),( sendbroadercast() )。
  3. 有序广播配置优先级需要在清单文件配置( android:property )属性.
  4. 代码注册广播需要调用( registerReceiver() )方法,解除广播需要调用( unregisterReceiver() )方法。
  5. sendBroadCast是发送( 无序 )广播.
  6. 注册系统短信到来的广播事件类型的action是( android:promission.RECEIVE_SMS ).
  7. 拦截有序广播的方法是( abortBroadcast ).
  8. 在Android系统中,广播分为( 有序 )广播和( 无序 )广播。
  9. BroadcastReceiver广播中有( 2 )种注册方式.
  10. 注册广播有两种方式,常驻型广播与( 非常驻型广播 )。
  11. 开机自动运行android程序的广播在android的manifest文件中添加的action属性是( ).
  12. ( sendOrderedBroadcast() )方法是发送有序广播.
  13. Android中定义广播接收者要继承( BroadcastRecivier )类.
  14. 手机重启对应的广播事件是( antion android:name=” android.intent.action.BOOT_COMPLETED” ).
  15. 注册系统短信到来的广播事件需要加入的权限是( android .permission.RECEIVE_SMS ).
  16. 广播是一种运用在应用程序之间( 消息传递 )的机制。
  17. 在清单文件中注册了NEW_OUTGOING_CALL,代码中获取到广播事件的方法是( getOutCall() ).
  18. ( 广播接收者 )是用于过滤、接收并响应广播的一类组件。
  19. Android清单文件配置广播接收者需要配置( receiver )节点。
  20. 注册外拨电话的广播事件是( antion android:name=” android.intent.action.NEW_OUTGOING_CALL )。

八、第八章-服务

  1. 关于AIDL说法正确的是( B)
    A、AIDL语言是java语言的演变
    B、IPC全称是Interface process communication,AIDL语言可以解决进程间通信
    C、AIDL语言语法复杂,学习成本高
    D、以上说法都不正确
  2. Context.startService方式的service生命周期下面正确的描述是( A).
    A、启动时 onCreate() –> onStart()
    B、停止时,onStop()–> onDestroy()
    C、启动时 onCreate()–>onStart()->onResume()
    D、停止时,onStop()
  3. 以下关于Service的说法,正确的是(C )
    A、Service是可以与用户直接交换
    B、每个Service class可以在AndroidManifest.xml文件中有相应的< service>声明,也可以不声明直接使用
    C、Service是Android四大组件之一
    D、Service只能通过startService方式开启
  4. 关于Service和Thread的区别说法,不正确的是( B).
    A、service默认运行在声明它的应用进程的主线程中。
    B、service里可以执行密集运算或阻塞操作
    C、可以在Service里创建一个Thread
    D、当有耗时或阻塞的操作时应该在其中创建一个线程.
  5. 关于MediaPlayer说法正确的是( C)
    A、MediaPlayer只能播放音频文件
    B、MediaPlayer播放音频文件必须放到Service里面
    C、MediaPlayer既可以播放音频文件也可以播放视频文件
    D、以上说法都不正确
  6. 以startService开启服务以下说法正确的是( A)
    A、startService方式开启服务,服务一旦被开启,服务就会在后台长期运行
    B、服务开启后只能关机后才能关闭服务
    C、服务不需要在清单文件里注册
    D、服务停止时会调用onStop()
  7. android中绑定一个service的方法是哪个( A).
    A、bindService()
    B、startService()
    C、unBindService()
    D、onBind()
  8. 通过bindService方式开启服务,服务生命周期是(C )
    A、onCreate()—onStart()—onBind()—onDestroy()
    B、onCreate()—onBind()—onDestroy()
    C、onCreate()—onBind()—onUnBind()—onDestroy()
    D、onCreate()—onStart()—onBind()—onUnBind()—onDestroy()
  9. 关于远程服务和本地服务说法正确的是( )C.
    A、远程服务是在Tomcat服务器上的服务
    B、本地服务和远程服务一样
    C、AIDL是用来解决进程间通信的语言
    D、以上都不正确
  10. 把播放音乐的操作放到Service里以下说法正确的是(D ).
    A、可以提供运行效率
    B、播放音乐的操作必须放入到服务里
    C、在Service里更安全
    D、放到服务里目的是提升进程的优先级,不容易被系统回收
  11. 关于IPC说法正确的是( A)
    A、IPC全称是Inner process communication指进程间通信
    B、IPC全称是Interface process communication
    C、进程间通信指的是在一个应用内进行通信
    D、以上说法都不正确
  12. 以下关于服务的生命周期说法正确的是(B )
    A、服务的生命周期和Activity一样
    B、服务的创建会执行onCreate()
    C、启动时 onCreate()–>onStart()->onResume()
    D、通过startService方式开启服务,首先会调用onCreate 和 onStart方法
  13. 通过bindService方法来启动一个Service那么服务的生命周期正确的是( C).
    A、onCreate()—onStart()—onBind()—onDestroy()
    B、onCreate()—onBind()—onDestroy()
    C、onCreate()—onBind()—onUnbind()—onDestroy()
    D、onCreate()—onStart()—onBind()—onUnBind()—onDestroy()
  14. 以下关于Service的说法,不正确的是( B)。
    A、Service是没有用户可见的界面,不与用户交互
    B、每个Service class可以在AndroidManifest.xml文件中有相应的< service>声明,也可以不声明直接使用
    C、Service可以通过 Context.startService()来启动
    D、Service可以通过Context.bindService()来启动
  15. 关于服务的创建说法错误的是( D).
    A、Android中创建服务需要继承Service类
    B、Android 中的服务需要在清单文件配置
    C、Android 中的服务可以理解成是在后台运行且没有界面的activity
    D、Android中定服务能做的事情完全可以开一个子线程替代
  16. 关于AIDL描述错误的是( B).
    A、AIDL全称是Android interface definition Language
    B、AIDL出现目的是解决进程间通信
    C、AIDL定义接口的源代码必须以.aidl结尾
    D、AIDL语言就是java语言的演变

判断题

  1. Android中想要创建一个服务,定义一个类继承Service,并需要在清单文件中注册.(正确 )
  2. 通过bind方式开启服务,服务被成功绑定后会调用服务的onBind方法。( 正确)
  3. 通过startService方式开启服务,首先会调用OnCreate方法,多次调用startService方法只会调用onStart()方法.(错误 )
  4. 通过bindService方式开启服务和通过startService方式开启服务,服务的生命周期一样.(错误 )
  5. IPC全称是Inner process communication叫进程间通信(正确 )
  6. 服务只有一种开启方式即startService().(错误 )
  7. Android中服务的生命周期和Activity的生命周期一样.( 错误)
  8. AIDL语言是用来解决进程间通信(错误 )
  9. 通过startService()方式开启服务首先会调用服务的onCreate方法,然后调用服务的OnStartCommand方法,当开启服务的Activity退出时,会执行服务的onDestroy方法。( 正确)
  10. 创建一个Service,需要在清单文件中进行配置(正确 )
  11. Android中服务可以理解成是在后台长期运行并且没有界面的activity.(正确 )
  12. 远程服务和本地服务都运行在同一个进程中.( 错误)
  13. 远程服务是指运行在Tomcat上的服务(错误 )
  14. AIDL 全称是Android interface definition language叫Android接口定义语言.( 正确)
  15. Android中服务是四大组件之一.(正确 )
  16. 我们把播放音乐操作最后放到Service里进行操作.(正确 )
  17. Android中创建服务组件需要继承Service类。( 正确)

填空题

  1. 通过bindService方式开启服务,服务的生命周期是__ onCreate()->onBind()->onUnBind()->onDestroy()_____.
  2. Android进程间通信(IPC)可以通过____AIDL___技术来进行通信
  3. 通过Context.startService()方式开启服务后在,再次调用开启服务的方法会执行服务生命周期的_______方法.
  4. IPC的全称是___ Inter-Process Communication_____.
  5. 创建一个Service,需要在_清单______文件中进行配置.
  6. 服务可以通过____startService___方法和____bindService___方法来开启服务.
  7. 通过bindService方式开启服务后,当服务的调用者关闭后需要对服务进行解绑服务,解绑服务调用的方法是____onUnBind()___.
  8. 我们把播放音乐操作最后放到___AIDL____里进行操作.
  9. 本地服务和远程服务通过___Service____来实现服务的通信
  10. Android中创建服务需要继承___onBind()____类.
  11. 通过bindService方式开启服务,服务被绑定成功后调用服务的___onBind()____方法.
  12. 采用startService()方法开启服务,肯定会调用_onCreat______方法。
  13. 通过bindService方式开启的服务,__onUnBind()_____方法可以进行解绑服务.
  14. 在Android中,用于管理后台服务的控件是_Service______。
  15. 采用___startService____方法开启服务后,多次调用该方法,只会执行onStart方法.
  16. Android中服务需要在清单文件中配置____service___节点.
  17. Android中有_____StartService__方式开启服务和__bindService()_____方式开启服务.

Android期末复习篇_8章节练习题附答案相关推荐

  1. Android期末复习篇_传智课后习题以及答案(选择、填空、判断、简答、编码题)

    写在前面 此为移动应用开发传智课后习题及答案,供期末复习使用,注意 答案仅供参考 加粗题目为强调 题型涉及:选择.判断.填空.简答.编程题 另8章习题及答案汇总:Android期末复习篇_8章节练习题 ...

  2. 阅读邮件回复邮件计算机操作题,《电子邮件》阅读练习题附答案

    <电子邮件>阅读练习题附答案 什么是电子邮件?它有哪些优点呢? 人们在电脑上写的信,由因特网上的一台主机传到另一台主机,最后送到收信人的.计算机上,这样发送和接收的信就叫"电子邮 ...

  3. 某微型计算机指令格式如图,计算机组成原理期末复习试题2套不含答案

    计算机组成原理期末复习试题2套不含答案 (8页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 附录C:<计算机组成原理>期末试卷样 ...

  4. 圆与圆的位置关系题目含答案_直线和圆的位置关系练习题附答案

    直线和圆的位置关系练习题附答案 第 1页 共 4页 直线和圆的位置关系练习题 一.选择题:(每小题 5分,共 50分,每题只有一个正确答案) 1.已知⊙O 的半径为 10cm,如果一条直线和圆心 O ...

  5. 中考计算机vb试题及答案,2017计算机二级VB练习题附答案

    2017计算机二级VB练习题附答案 引导语:全国计算机等级考试有二级VB语言程序设计这一考试项目.为了帮助大家准备计算机二级VB考试,以下是百分网小编分享给大家的2017计算机二级VB练习题附答案,欢 ...

  6. 计算机一级摸拟题练习,2017计算机一级MSOffice模拟练习题附答案

    2017计算机一级MSOffice模拟练习题附答案 引导语:2017年9月份的计算机考试快要来临了,你们都准备得怎么样了,以下是百分网小编分享给大家的2017计算机一级MSOffice模拟练习题附答案 ...

  7. 计算机进制转换专项训练,计算机各种进制转换练习题(附答案) (精选可编辑)...

    <计算机各种进制转换练习题(附答案) (精选可编辑)>由会员分享,可在线阅读,更多相关<计算机各种进制转换练习题(附答案) (精选可编辑)(5页珍藏版)>请在金锄头文库上搜索. ...

  8. 计算机一级考试做网络题,全国计算机等级考试一级考试练习题附答案

    全国计算机等级考试一级考试练习题附答案 为了使广大考生在备战计算机等级考试时,更快的掌握相应知识点,下面是小编搜索整理的全国计算机等级考试一级考试练习题附答案,供参考练习,预祝考生们考出自己理想的成绩 ...

  9. matlab sa(w),MATLAB平时练习题(附答案).pdf

    MATLAB平时练习题(附答案) 一.填空题 1.MATLAB 常用操作界面包括 .工作空间窗口 . . . 内存数组编辑器.M 文件编辑/调试器.帮助导航 /浏览器.图形窗口等. 2.MATLAB ...

最新文章

  1. 人工智能2021截稿日期_APISE2021会议预览【人工智能amp;控制amp;模式识别】
  2. Oracle osw监控工具的使用示例
  3. 语言时间序列年月日_R语言系列 时间序列分析
  4. mysql服务器多线程模型_mysql-线程模型
  5. ubuntu15.10英文系统中文输入法配置 fcitx
  6. 从DataTable导出Excel,并下载,删除Excel进程。
  7. intern cookie 纠结之二
  8. php 5范例代码查询辞典 pdf,PHP 5范例代码查询辞典
  9. fatfs文件系统f_lseek追加文件
  10. log4j配置文件位置详解
  11. 2022高压电工考试试题及在线模拟考试
  12. mx记录什么意思?域名mx记录怎么设置?
  13. android自动调节背光,android自动调节背光
  14. 刘易斯拐点对中国经济的影响
  15. (转)python基础之迭代器协议和生成器(一)
  16. HDwiki+discuz在启用https下的整合问题
  17. Android之黄油刀(butterknife)
  18. 回溯——机器零件加工最优加工顺序问题
  19. SpringCloud微服务注册和消费模式总结
  20. 安装Deb软件的方法

热门文章

  1. Windows C++ 多线程编程示例
  2. arp miss攻击_arp miss
  3. 【TI毫米波雷达笔记】IWR6843AOPEVM-G的UniFlash烧录配置及避坑(官方手册有误)
  4. 电商API接口系列,item_get-获得淘宝商品详情
  5. xbox one 越狱_如何使用密码限制对Xbox One的访问
  6. 新房交接需要注意的事项
  7. 管理沟通:管理的必修课。
  8. Java 操作 MongoDB runCommand接口
  9. #百知教育 - 刘浩讲师 - 接口
  10. android 反调试 github,修改Android手机内核,绕过反调试