Android 复习题及答案
一、 选择题
1. 下列哪些语句关于内存回收的说明是正确的?(
)
A、 程序员必须创建一个线程来释放内存
B、 内存回收程序负责释放无用内存
C、 内存回收程序允许程序员直接释放内存
D、 内存回收程序可以在指定的时间释放内存对象
2. Android 中下列属于 Intent 的作用的是(
)
A、实现应用程序间的数据共享
B、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页
面而消失
C、可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带
D、处理一个应用程序整体性的工作
3. 下面在 AndroidManifest.xml 文件中注册 BroadcastReceiver 方式正确的(
)
A、
android:name="android.provider.action.NewBroad"/>
D、
B、
android:name="android.provider.action.NewBroad"/>
C、
android:name="android.provider.action.NewBroad"/>
4. 关于 ContenValues 类说法正确的是(
)
A、他和 Hashtable 比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名是
任意类型,而值都是基本类型
B、他和 Hashtable 比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名,
可以为空,而值都是 String 类型
C、他和 Hashtable 比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名是
String 类型,而值也是 String 类型
D、他和 Hashtable 比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名是
String 类型,而值都是基本类型
5. 下面退出 Activity 错误的方法是(
)
A、finish()
B、抛异常强制退出 C、System.exit()
D、onStop()
6. 下面关于 Android dvm 的进程和 Linux 的进程,应用程序的进程说法正确的是(
)
A、DVM 指 dalivk 的虚拟机.每一个 Android 应用程序都在它自己的进程中运行,不一定拥有一个
独立的 Dalvik 虚拟机实例.而每一个 DVM 都是在 Linux 中的一个进程,所以说可以认为是同一个概念.
B、DVM 指 dalivk 的虚拟机.每一个 Android 应用程序都在它自己的进程中运行,不一定拥有一个
独立的 Dalvik 虚拟机实例.而每一个 DVM 不一定都是在 Linux 中的一个进程,所以说不是一个概念.
C、DVM 指 dalivk 的虚拟机.每一个 Android 应用程序都在它自己的进程中运行,都拥有一个独立
的 Dalvik 虚拟机实例.而每一个 DVM 不一定都是在 Linux 中的一个进程,所以说不是一个概念.
D、DVM 指 dalivk 的虚拟机.每一个 Android 应用程序都在它自己的进程中运行,都拥有一个独立
的 Dalvik 虚拟机实例.而每一个 DVM 都是在 Linux 中的一个进程,所以说可以认为是同一个概念.
7. Android 项目工程下面的 assets 目录的作用是什么(
)
A、放置应用到的图片资源。
C、放置字符串,颜色,数组等常量数据 D、放置一些与 UI 相应的布局文件,都是 xml 文件
B、主要放置多媒体等数据文件
8. 关于 res/raw 目录说法正确的是(
)
A、 这里的文件是原封不动的存储到设备上不会转换为二进制的格式
B、这里的文件是原封不动的存储到设备上会转换为二进制的格式
C、 这里的文件最终以二进制的格式存储到指定的包中
D、这里的文件最终不会以二进制的格式存储到指定的包中
9. Android 是如何组织 Activity 的(
)
A、 以栈的方式组式 Activity
B、 以队列的方式组织 Activity
C、 以树形方式组织 Activity
D、 以链式方式组织 Activity。
10. onPause 什么时候调用(
)
A.当界面启动时
B.当 onCreate 方法被执行之后
C.当界面被隐藏时
D.当界面重新显示时
11. 在 Activity 中,如何获取 service 对象(
)
A.可以通过直接实例化得到。
B.可以通过绑定得到。
C.通过 startService()
D.通过 getService()获取。
12. 在表格布局中,android:collapseColumns="1,2"的含义是(
)
A、在屏幕中,当表格的列能显示完时,显示1,2列
B、在屏幕中,当表格的列显示不完时,折叠
C、在屏幕中,不管是否能都显示完,折叠1、2列
D、在屏幕中,动态决定是否显示表格。
13. 绝对布局中,android:layout_x 的含义有(
)
A、以手机左下为原点,组件显示到屏幕中的横向坐标值。
B、以手机左上为原点,组件显示到屏幕中的横向坐标值。
C、以手机右下为原点,组件显示到屏幕中的横向坐标值。
D、以手机右下为原点,组件显示到屏幕中的横向坐标值。
14. 创建 Menu 需要重写的方法是(
)
A、onOptionsCreateMenu(Menu menu) B、onOptionsCreateMenu(MenuItem menu)
C、onCreateOptionsMenu(Menu menu)
D、onCreateOptionsMenu(MenuItem menu)
15. 在使用 SQLiteOpenHelper 这个类时,它的哪一个方法是用来实现版本升级之用的(
)
A.onCreate()
B.onCreade()
C.onUpdate()
D. onUpgrade()
16. ScrollView 中,可以直接包含多少个组件(
)
A.三个
B.两个
C.一个
D.无数个
17. TabHost.newTabSpec("tab1")(
)
A.为 tab 页创建标题为 tab1
B.为 tab 页创建 ID 为 tab1
C.为 tab 页创建内容
D.为 tab 页创建新空格
18. 关于适配器的说法正确的有(
)
A.它主要是用来存储数据
B.它主要用来把数据绑定到组件上
C.它主要用来解析数据
D.它主要用来存储 xml 数据
19. 关于 Activity 说的法不正确的是(
)
A. Activity 是为用户操作而展示的可视化用户界面
B. 一个应用程序可以有若干个 Activity
C. Activity 可以通过一个别名去访问
D. Activity 可以表现为一个漂浮的窗口
20. service 中如何实现更改 Activity 界面元素(
)
A.通过把当前 actvity 对象传递给 service 对象。
B.通过向 Activity 发送广播。
C.通过 Context 对象更改 Act]ivity 界面元素
D.可以在 service 中,调用 Activity 的方法实现更改界面元素。
21. 激活 Activity 的方法是(
)
A.runActivity()
B.goActivity()
C.startActivity()
D.startActivityForIn()
22. 在使用 SQLiteOpenHelper 这个类时,它的哪一个方法是用来实现版本升级之用的(
)
A.onCreate()
B.onCreade()
C.onUpdate()
D. onUpgrade()
23. 关于 android 进程,说法不正确的是(
)
A.组件运行所在的进程,是由 androidmanifest.xml 决定,它可以指定该组件运行于哪个进程。
B、当急需内存时,android 会决定优先关闭那些空闲的进程
C.背景进程是不为用户所见的 Activity,但是还会有可能被用户看到,所以它不能被杀死
D.可视进程一般不会不被系统所杀死
24. 在 Activity 的生命周期中,当它从可见状态转向半透明状态时,它的哪个方法必须被调用(
)
A.onStop()
B.onPause()
C.onRestart()
D.onStart()
25. 当 Activity 被消毁时,如何保存它原来的状态(
)
A.实现 Activity 的 onSaveInstanceState()方法
B.实现 Activity 的 onSaveInstance()方法
C.实现 Activity 的 onInstanceState()方法
D. 实现 Activity 的 onSaveState()方法
26. 关于 Intent 对象说法错误的是(
)
A.在 android 中,Intent 对象是用来传递信息的
B.Intent 对象可以把值传递给广播或 Activity
C.利用 Intent 传值时,可以传递一部分值类型
D.利用 Intent 传值时,它的 key 值可以是对象
27. 在 android 中,ArrayAdapter 类是用于(
)
A.用于把数据绑定到组件上
B.它能把数据显示到 Activity 上
C.它能把数据传递给广播
D.它能把数据传递给服务
28. 使进度条变横向的系统样式是(
)
A. @android:style/Widget.ProgressBar.Horizontal
B. @android:style/ProgressBar.Horizontal
C. @style/Widget.ProgressBar.Horizontal
D. @style/ProgressBar.Horizontal
29. activity 对一些资源以及状态的操作保存,最好是保存在生命周期的哪个函数中进行(
)
A、onPause()
B、onCreate()
C、 onResume()
D、onStart()
30. android 中下列属于 Intent 的作用的是(
)
A、实现应用程序间的数据共享
B、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页
面而消失
C、可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带
D、处理一个应用程序整体性的工作
31. 关于 res/raw 目录说法正确的是(
)
A、 这里的文件是原封不动的存储到设备上不会转换为二进制的格式
B、 这里的文件是原封不动的存储到设备上会转换为二进制的格式
C、 这里的文件最终以二进制的格式存储到指定的包中
D、 这里的文件最终不会以二进制的格式存储到指定的包中
32. 下面在 AndroidManifest.xml 文件中注册 BroadcastReceiver 方式正确的是(
)
A、android:name="android.provider.action.NewBroad"/>
B、android:name=”android.provider.action.NewBroad”/>
C、android:name="android.provider.action.NewBroad"/>
D、android:name=”android.provider.action.NewBroad”/>
33. 下面哪一个不属于 Android 体系结构中的应用程序层(
)
A、电话簿
B、日历
C、SQLite
D、SMS 程序
34. 下面哪种说法不正确(
)
A、Android 应用的 gen 目录下的 R.java 被删除后还能自动生成;
B、res 目录是一个特殊目录,包含了应用程序的全部资源,命名规则可以支持数字(0-9)下横线(_),
大小写字母(a-z , A-Z);
C、AndroidManifest.xml 文件是每个 Android 项目必须有的,是项目应用的全局描述。其中指定
程序的包名(package=”…”)+指定 android 应用的某个组件的名字(android:name=”…”)组成了该组件
类的完整路径
D、assets 和 res 目录都能存放资源文件,但是与 res 不同的是 assets 支持任意深度的子目录,
在它里面的文件不会在 R.java 里生成任何资源 ID
35. 在一个相对布局中怎样使一个控件居中(
)
A、android:gravity="center"
B、android:layout_gravity="center"
C、android:layout_centerInParent="true"
D、android:scaleType="center"
36. 下列说法哪个不正确(
)
A、拥有 android:configChanges="orientation|keyboardHidden"标签的 Activity 在横竖屏转换时
不会再执行 onCreate 方法
B、默认情况下对一个 Activity 的对象进行横竖屏切换,该对象的 onCreate 方法在每次切换时都
会执行
C、一个 Activity 的对象 a1上弹出了一个模拟对话框形式的 Activity 的对象 a2,按返回键后 a1
执行了 onStart 和 onResume 方法,a2执行了 onPause,onStop 和 onDestroy 方法
D、一个界面上的 EditText 中输入文字后,再按下 Home,该界面消失,等再回到该界面文字内
容仍在,onCreate 方法也不会执行
37. 下列关于 Service 的描述,正确的是(
)
A.Servie 主要负责一些耗时比较长的操作,这说明 Service 会运行在独立的子线程中
B.每次调用 Context 类中的 StartService()方法后都会新建一个 Service 实例
C.每次启动一个服务时候都会先后调用 onCreate()和 onStart()方法
D.当调用了 ConText 类中的 StopService()方法后,Serviece 中的 onDestroy()方法会自动回调
38. 在 Android 中使用 Menu 时可能需要重写的方法有(
)。[多选]
A、onCreateOptionsMenu()
C、onOptionsItemSelected()
B、onCreateMenu()
D、onItemSelected()
39. 在 Android 中使用 SQLiteOpenHelper 这个辅助类时,可以生成一个数据库,并可以对数据库
版本进行管理的方法可以是(
A、getWriteableDatabase()
C、getDatabase()
)[多选]
B、getReadableDatabase()
D、getAbleDatabase()
40. Android 关于 service 生命周期的 onCreate()和 onStart()说法正确的是(
)[多选]
A、当第一次启动的时候先后调用 onCreate()和 onStart()方法
B、当第一次启动的时候只会调用 onCreate()方法
C、如果 service 已经启动,将先后调用 onCreate()和 onStart()方法
D、如果 service 已经启动,只会执行 onStart()方法,不再执行 onCreate()方法
41. 下列属于 Activity 的状态是(
)[多选]
A.运行状态
B 暂停状态
C 停止状态
D 睡眠状态
42. 关于 Handler 的说话正确的是(
)[多选]
A.它实现不同线程间通信的一种机制
B.它避免了新线程操作 UI 组件
C.它采用栈的方式来组织任务的
D.它可以属于一个新的线程
43. 关于广播的作用,正确的说法是(
) [多选]
A 它是用接收系统发布的一些消息的
B 它可以帮助 service 修改用户界面
C 它可以启动一个 Activity
D 它可以启动一个 Service
44. 下面属于 View 的子类的是(
) [多选]
A Activity
B Service
C ViewGroup
D TextView
45. 在 main.xml 中,定义一个组件时,有两个属性必须写(
) [多选]
A android:layout_width
C android:id="@+id/start"
B android:layout_height
D android:text
46. 请找出你学过的适配器类(
) [多选]
A SimpleAdapter
C SimpleCursorAdapter
B SimpleArrayAdapter
D SimpleCursorsAdapter
47. 关于 Sqlite 数据库,正确的说法(
) [多选]
A SqliteOpenHelper 类主要是用来创建数据库和更新数据库
B SqliteDatabase 类是用来操作数据库的
C 在每次调用 SqliteDatabase 的 getWritableDatabase()方法时,会执行 SqliteOpenHelper 的
onCreate 方法。
D 当数据库版本发生变化时,可以自动更新数据库结构
48. Intent 传递数据时,下列的数据类型哪些可以被传递(
)[多选]
A、Serializable
B、charsequence
C、Parcelable
D、Bundle
1、 下列不属于 service 生命周期的方法是__
A,onCreate
B,onDestroy
C,onStop
D,onStart
2、 在 android 中使用 RadioButton 时,要想实现互斥的选择需要用的组件是 ___
A,ButtonGroup B, RadioButtons C,CheckBox D,RadioGroup
3、 创建子菜单的方法是___
A,add B,addSubMenu
4、 处理菜单项单击事件的方法不包含____
A, 使用 onOptionsItemSelected(MenuItem item)响应
B,使用 onMenuItemSelected(int featureId ,MenuItem item) 响应
C,使用 onMenuItemClick(MenuItem item) 响应
D,使用 onCreateOptionsMenu(Menu menu)响应
C,createSubMenu D,createMenu
5、 关于 AlertDialog 的说法不正确的是__
A,要想使用对话框首先要使用 new 关键字创建 AlertDialog 的实例
B,对话框的显示需要调用 show 方法
C,setPositiveButton 方法是用来加确定按钮的
D,setNegativeButton 方法是用来加取消按钮的
6、 上下文菜单与其他菜单不同的是____
A,上下文菜单项上的单击事件可以使用 onMenuItemSelected 方法来响应
B,上下文菜单必须注册到指定的 view 上才能显示
C,上下文菜单的菜单项可以添加,可以删除
D,上下文菜单的菜单项可以有子项
7、 以下关于 Android 应用程序的目录结构描述中,不正确的是?
A、 src 目录是应用程序的主要目录,由 Java 类文件文件组成
B、 assets 目录是原始资源目录,该目录中的内容将不会被 R 类所引用
C、 res 目录是应用资源目录,该目录中的所有资源内容都会被 R 类所索引
D、 AndroidManifest.xml 文件是应用程序目录清单文件,该文件由 ADT 自动生成,不需要程序员手
动修改
对于 XML 布局文件中的视图控件,layout_width 属性的属性值不可以是什么?
a. match_parent
b. fill_parent
c. wrap_content