---
tags: [嵌入式系统, 试题, 嵌入式系统设计与开发]
create time: 2026-06-10 10:41
---
# 试题 7 — 武汉科技大学《嵌入式系统》
## 概述
- **课程**:嵌入式系统
- **学校**:武汉科技大学
- **题型**:选择题、填空题、判断题、程序设计题、简答题、设计题
- **知识点**:Android 分层架构、Activity 生命周期、SQLite 数据库、ContentProvider、Intent 机制、μC/OS-II 任务调度
> [!tip] 学习建议
> 本卷以 Android 应用开发为主线,兼顾嵌入式操作系统基础。建议先梳理 Android 四大组件的职责与交互关系,这是选择题和填空题的高频考点。
## 正文
### 一、单选题(每题 3 分,共 48 分)
> [!note] 教学提示
> 本部分涵盖 Android 系统架构、Activity/ContentProvider 机制、布局控件、数据库操作及 ARM 体系结构等基础知识点。
1. 以下关于 Android 系统分层架构的描述,错误的是()。
A. Android 系统采用分层架构
B. 从应用角度看 Android 系统的中心是应用框架
C. 应用是软件工程单元的文件
D. Android 和 iOS 都使用 Linux 内核
> [!success]- 答案与解析
> **答案:B**
2. 下列不属于 ARM 体系结构支持的七种处理器模式之一的是()。
A. 用户模式
B. 管理模式
C. 系统模式
D. 中断模式
> [!success]- 答案与解析
> **答案:C**
> [!question] 思考:ARM 支持的七种模式分别是什么?
> 用户模式(USR)、系统模式(SYS)、管理模式(SVC)、中止模式(ABT)、未定义模式(UND)、IRQ 中断模式、FIQ 快速中断模式。
3. Android 的应用程序框架主要包括()等在 Android 系统上进行开发各种组件。
A. Activity
B. Service
C. ContentProvider
D. BroadcastReceiver
> [!success]- 答案与解析
> **答案:D**
4. 在 Android 系统中,所有的用户界面都是在()文件中通过 XML 进行描述。
A. manifest.xml
B. layout.xml
C. res.xml
D. main.xml
> [!success]- 答案与解析
> **答案:D**
5. 在 Android 7.0 中新增的权限类型是()。
A. normal
B. dangerous
C. signature
D. SignatureOrSystem
> [!success]- 答案与解析
> **答案:D**
6. 要想使布局中的 TextView 控件的内容在水平方向和垂直方向上居中,应该设置属性为()。
A. android:gravity="center"
B. android:layout_gravity="center"
C. android:text="center"
D. android:layout_centerInParent="true"
> [!success]- 答案与解析
> **答案:D**
> [!note] 教学提示
> 注意区分 `gravity`(内容对齐)和 `layout_gravity`(组件在父容器中的对齐)。在 RelativeLayout 中,`layout_centerInParent` 可实现完全居中。
7. 在 Android 中,将字符串转换为大写的格式方法是()。
A. convert()
B. toUpperCase()
C. equals()
D. parse()
> [!success]- 答案与解析
> **答案:B**
8. Android 中,使用 Intent 传递数据的主要类型有()。
A. Serializable
B. Parcelable
C. 以上两者都可以
D. 都不可以
> [!success]- 答案与解析
> **答案:C**
9. 通过 ContentProvider 进行数据共享时,必须在 AndroidManifest.xml 文件中对()进行配置。
A. activity
B. provider
C. service
D. receiver
> [!success]- 答案与解析
> **答案:D**
10. 使用 startActivityForResult() 方法启动 Activity 后,该 Activity 被销毁后系统回调的方法是()。
A. onActivity()
B. onPause()
C. onActivityResult()
D. onStop()
> [!success]- 答案与解析
> **答案:D**
11. 以下哪些方式可以实现两个应用程序之间的数据共享?
A. 使用 SharedPreferences
B. 使用 ContentProvider
C. 使用文件存储
D. 以上都是
> [!success]- 答案与解析
> **答案:D**
12. SQLite 数据库存储的数据类型不包括()。
A. NULL
B. INTEGER
C. VARCHAR
D. BLOB
> [!success]- 答案与解析
> **答案:A**
> [!note] 教学提示
> SQLite 支持五种存储类型:NULL、INTEGER、REAL、TEXT、BLOB。VARCHAR 不是 SQLite 原生支持的存储类型名称。
13. 可以进行分层布局的容器是()。
A. FrameLayout
B. LinearLayout
C. RelativeLayout
D. TableLayout
> [!success]- 答案与解析
> **答案:B**
14. 下列选项中,用于获取数据库记录的语句是()。
A. rawQuery
B. select
C. query
D. delete
> [!success]- 答案与解析
> **答案:B**
15. Android 中实现单例模式的正确方式是()。
A. 将构造方法设为 private
B. 将类设为 abstract
C. 只能使用静态工厂方法
D. 以上都可以
> [!success]- 答案与解析
> **答案:D**
16. 以下关于 Activity 生命周期的描述,正确的是()。
A. Activity 处于前台时完全可见
B. Activity 不可见但在后台运行
C. Activity 被系统回收前调用 onDestroy
D. Activity 不可见,用户不可交互
> [!success]- 答案与解析
> **答案:B**
17. 判断下面代码的输出结果是()。
> [!note] 教学提示
> 本题考查 Android Activity 启动流程的理解,需结合 Intent 和生命周期回调顺序进行分析。
> [!success]- 答案与解析
> **答案:B**
18. Intent 是 Android 系统提供的消息传递机制。下列哪个方法能启动其他应用的 Activity?
A. Intent.ACTION_DIAL
B. Intent.ACTION_CALL
C. Intent.ACTION_SENDTO
D. Intent.ACTION_VIEW
> [!success]- 答案与解析
> **答案:B**
19. putExtra() 方法用于向 Intent 中添加附加信息。下列哪个方法能够读取 Intent 中附加的字符串类型数据?
A. getExtra()
B. getStringExtra()
C. getData()
D. getString()
> [!success]- 答案与解析
> **答案:C**
20. Bundle 类的()方法可以返回所有 key 的集合。
A. getKeys()
B. getString()
C. getStringExtra()
D. toString()
> [!success]- 答案与解析
> **答案:A**
### 二、填空题(每题 2 分,共 20 分)
> [!note] 教学提示
> 填空题重点考查 Activity 间数据传递、广播接收者配置、有序广播发送以及 SQLite 数据库操作等实践技能。
**1. Activity 间数据传递**
如果 Activity_A 启动 Activity_B 并等待其执行结果时,代码片段如下:
```java
Intent intent = new Intent(Activity_A.this, ①);
Bundle bundle = new Bundle();
bundle.putString("name", "我是string");
intent.putExtras(bundle);
②;
```
> [!success]- 答案与解析
> - ① Activity_B.class
> - ② startActivityForResult(intent)
**2. 广播接收者配置**
如下代码实现一个广播接收者 `kp.adver.receiver`,接收权限为 20 的有序广播,请完成下面代码。
```xml
③
④
```
> [!success]- 答案与解析
> - ③ ``
> - ④ android:name="kp.adver.receiver"
**3. 发送有序广播**
下面是向上清单发送广播并附带消息的代码片段,请完成主要代码。
```java
Intent intent = new Intent();
⑤
intent.putExtra("msg", "来自 kp的消息");
⑥
```
> [!success]- 答案与解析
> - ⑤ intent.setAction("kp.adver.receiver")
> - ⑥ sendOrderedBroadcast(intent, null)
**4. 联系人数据访问**
向通讯录的多个联系人可以通过以下方式来实现:
```java
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("content://com.android.contacts/contacts"));
startActivity(intent);
```
**5. 数据库插入操作**
下面代码片段完成向数据库表添加一条记录,请完善:
```java
DBOpenHelper helper = new DBOpenHelper(getApplicationContext(), "test.db", null, DB_VERSION);
SQLiteDatabase db = helper.getWritableDatabase();
Person person = new Person();
person.setName("wustzz");
person.setAge(24);
db.⑦("person", null, new Person[]{person.name, person.age});
db.close();
```
> [!success]- 答案与解析
> - ⑦ insert(插入操作)
### 三、判断题(每题 2 分,共 20 分)
> [!note] 教学提示
> 判断题覆盖 Android 应用组件、Activity 生命周期、数据存储等核心概念,正确写 T,错误写 F。
1. > [!success]- 答案与解析
> **答案:F**
2. > [!success]- 答案与解析
> **答案:F**
3. > [!success]- 答案与解析
> **答案:T**
4. > [!success]- 答案与解析
> **答案:T**
5. > [!success]- 答案与解析
> **答案:F**
6. > [!success]- 答案与解析
> **答案:F**
7. > [!success]- 答案与解析
> **答案:T**
8. > [!success]- 答案与解析
> **答案:F**
9. > [!success]- 答案与解析
> **答案:T**
10. > [!success]- 答案与解析
> **答案:T**
### 四、程序设计题(30 分)
> [!note] 教学提示
> 本题考查 SimpleAdapter 的使用,是 Android UI 开发中适配器模式的典型应用。
**使用 SimpleAdapter 为 ListView 创建适配器,绑定数据源。**
> [!success]- 答案与解析
> **主要步骤:**
>
> 1. 创建 `List