第1章 鸿蒙系统简介
1.1 智能手机操作系统 / 2
1.1.1 智能手机操作系统发展历史 / 2
1.1.2 智能手机操作系统的开放与封闭之争 / 2
1.2 鸿蒙系统的发展历史 / 4
1.2.1 鸿蒙系统 1.0 介绍 / 5
1.2.2 鸿蒙系统 2.0 介绍 / 5
1.2.3 鸿蒙系统与物联网 / 5
1.3 鸿蒙系统的特点 / 6
1.3.1 内核特点简介 / 8
1.3.2 鸿蒙系统分布式技术特性 / 9
1.4 鸿蒙系统的分层架构 / 12
1.4.1 内核层 / 12
1.4.2 系统服务层 / 13
1.4.3 框架层 / 13
1.4.4 应用层 / 13
1.5 小结 / 13
第2章 搭载鸿蒙 App 开发环境
2.1 开发环境简介 / 16
2.2 安装 DevEco Studio / 18
2.2.1 macOS 系统中安装 DevEco Studio / 18
2.2.2 Windows 系统中安装 DevEco Studio / 19
2.3 配置 DevEco Studio / 22
2.4 小结 / 26
第3章 创建第一个鸿蒙 App
3.1 第一个应用实现的目标 / 28
3.2 注册华为开发者账号并在模拟器上运行 / 31
3.3 使用真机运行程序 / 38
3.3.1 使用 DevEco Studio 生成证书请求文件 / 38
3.3.2 申请应用调试证书和设备 注册 / 40
3.3.3 申请项目和应用 / 43
3.3.4 在开发环境中配置相关信息 / 46
3.3.5 运行程序 / 47
3.4 小结 / 47
第4章 用户界面布局开发
4.1 什么是布局 / 49
4.1.1 布局的分类 / 49
4.1.2 布局的通用参数 / 49
4.2 布局的程序框架 / 50
4.3 方向布局(DirectionalLayout) / 55
4.4 依赖布局(DependentLayout) / 58
4.5 堆栈布局(StackLayout) / 62
4.6 表格布局(TableLayout) / 65
4.7 位置布局(PositionLayout) / 67
4.8 自适应盒子布局(AdaptiveBoxLayout) / 69
4.9 小结 / 72
第5章 常用 UI 组件开发
5.1 文本标签(Text)组件 / 74
5.1.1 id 属性 / 79
5.1.2 设置背景 / 79
5.1.3 为 Text 设置单击事件 / 80
5.2 按钮(Button)组件 / 81
5.3 样式如何美化 / 84
5.4 文本框(TextField)组件 / 94
5.5 日期选择(DatePicker)组件 / 96
5.6 开关(Switch)组件 / 97
5.7 复选框(Checkbox)组件 / 100
5.8 对话框(Dialog)组件 / 102
5.8.1 ToastDialog / 102
5.8.2 PopupDialog / 103
5.8.3 CommonDialog / 104
5.8.4 ListDialog / 105
5.9 进度条(Slider)组件 / 106
5.10 列表容器(ListContainer)组件 / 108
5.11 小结 / 113
第6章 鸿蒙页面及数据服务开发
6.1 Ability 的分类 / 115
6.2 有页面的 Feature Ability / 115
6.2.1 Ability 和 AbilitySlice 详解 / 116
6.2.2 页面的跳转 / 118
6.3 意图对象(Intent) / 123
6.4 Page Ability 的生命周期 / 125
6.5 Page Ability 的生命周期案例 / 128
6.6 Data Ability 的使用 / 131
6.6.1 URI 数据定位 / 132
6.6.2 DataAbilityHelper 数据访问 / 132
6.6.3 创建 DataAbilityHelper 实例 / 133
6.6.4 定义界面 / 134
6.6.5 数据查询 query 函数 / 135
6.6.6 谓词 DataAbilityPredicates / 135
6.6.7 谓词 DataAbilityPredicates 的常用函数 / 136
6.6.8 DataAbilityPredicates 举例 / 137
6.6.9 向存储中插入数据 / 137
6.6.10 ValuesBucket / 138
6.6.11 向存储中批量插入数据 / 139
6.6.12 从存储中删除数据 / 140
6.6.13 update 函数 / 140
6.7 数据存取综合案例 / 141
6.7.1 申请权限 / 142
6.7.2 权限请求 / 143
6.7.3 writeToDisk 函数 / 145
6.8 小结 / 147
第7章 日志
7.1 鸿蒙系统中的日志 / 149
7.2 日志标签和日志等级 / 149
7.3 日志的格式化 / 150
7.4 日志的查看 / 151
7.5 日志编程实例 / 152
7.6 使用日志的常见错误 / 156
7.7 小结 / 157
第8章 事件与通知
8.1 什么是事件 / 159
8.2 公共事件案例 / 160
8.2.1 公共事件案例界面功能 / 160
8.2.2 为界面按钮设置监听函数 / 162
8.2.3 自定义事件类 / 165
8.2.4 发布无序事件 / 166
8.2.5 发布权限事件 / 167
8.2.6 发布有序事件 / 168
8.2.7 发布粘合事件 / 169
8.2.8 订阅事件 / 170
8.2.9 事件接收器类 / 171
8.2.10 自定义事件器 / 172
8.2.11 取消事件订阅 / 172
8.3 通知的类型 / 173
8.3.1 通知实例 / 174
8.3.2 定义通知槽 / 176
8.3.3 设置文本通知 / 177
8.3.4 发送高级文本通知 / 179
8.4 取消单个通知 / 182
8.5 取消所有通知 / 182
8.6 小结 / 183
第9章 权限与安全
9.1 权限概述 / 185
9.1.1 鸿蒙系统为什么需要权限 / 185
9.1.2 权限的沙盒原理 / 185
9.2 权限的分类 / 185
9.2.1 敏感与非敏感权限 / 187
9.2.2 鸿蒙系统提供的敏感权限 / 187
9.2.3 鸿蒙系统提供的非敏感权限 / 189
9.3 权限的申请流程 / 190
9.4 权限的开发 / 191
9.4.1 权限的配置 config.json / 191
9.4.2 权限申请程序基本框架 / 192
9.4.3 编写权限申请代码 / 196
9.4.4 权限申请处理函数 / 197
9.5 小结 / 198
第 10 章 数据存储管理
10.1 轻量级数据存储 / 200
10.2 DatabaseHelper 类 / 200
10.2.1 创建数据库 / 201
10.2.2 删除数据文件 / 201
10.2.3 移动数据文件 / 202
10.3 Preferences 偏好数据库的使用 / 203
10.3.1 getInt 查询整型数据 / 203
10.3.2 插入数据到偏好文件中 / 204
10.3.3 从偏好文件中删除数据 / 205
10.3.4 观察数据变化 / 205
10.4 偏好文件存储实例 / 206
10.4.1 定义页面布局 / 207
10.4.2 界面按钮业务逻辑 / 211
10.4.3 初始化数据库 / 212
10.4.4 将数据写入偏好数据库中 / 213
10.4.5 从偏好数据库中读数据 / 214
10.4.6 删除偏好数据库中的数据 / 215
10.4.7 查看 preferences 文件的内容 / 216
10.5 小结 / 216
第 11 章 关系型数据存储管理
11.1 SQLite 数据存储的存取 / 218
11.1.1 创建一个数据库 / 218
11.1.2 插入一个数据到数据库 / 219
11.1.3 从数据库中请求数据 / 221
11.1.4 OrmPredicates查询谓词 / 222
11.1.5 删除数据 / 223
11.1.6 更新数据 / 223
11.1.7 备份数据库 / 224
11.1.8 恢复数据库 / 225
11.1.9 删除数据库 / 225
11.1.10 升级数据库 / 225
11.2 数据库操作案例 / 226
11.2.1 定义页面布局 / 227
11.2.2 定义数据库类和实体类 / 231
11.2.3 初始化数据库 / 232
11.2.4 插入一条数据 / 233
11.2.5 更新一条数据 / 235
11.2.6 删除一条数据 / 236
11.2.7 查询数据 / 237
11.2.8 备份数据库 / 239
11.2.9 删除数据库 / 240
11.2.10 恢复数据库 / 240
11.2.11 升级数据库 / 242
11.3 小结 / 245
第 12 章 分布式数据存储管理
12.1 分布式数据存储管理介绍 / 247
12.1.1 什么是分布式数据存储 / 247
12.1.2 分布式数据存储的核心特征 / 247
12.1.3 分布式数据存储的应用场景 / 248
12.2 分布式存储的架构 / 249
12.2.1 分布式存储的运行架构 / 249
12.2.2 分布式存储的总架构 / 250
12.2.3 分布式数据库的数据模型 / 251
12.2.4 数据库的同步模型 / 252
12.3 分布式数据库统一数据访问接口 / 254
12.3.1 轻量级 KV 接口 / 254
12.3.2 支持关系型语义的增强接口 / 257
12.4 分布式数据访问案例 / 258
12.4.1 申请权限 / 258
12.4.2 数据库的创建 / 260
12.4.3 数据库的关闭和删除 / 261
12.4.4 数据的增删查改 / 262
12.4.5 数据同步 / 275
12.5 小结 / 276
第 13 章 分布式应用开发
13.1 鸿蒙分布式应用的使用场景 / 278
13.2 鸿蒙分布式系统架构 / 278
13.3 分布式软总线 / 279
13.3.1 计算机硬件总线 / 279
13.3.2 鸿蒙分布式软总线 / 280
13.3.3 分布式软总线之发现连接 / 282
13.3.4 分布式软总线之组网 / 282
13.3.5 分布式软总线之传输 / 284
13.3.6 极简协议 / 284
13.3.7 软总线对开发者友好 / 285
13.4 分布式开发案例 / 286
13.4.1 申请权限 / 287
13.4.2 页面布局 / 289
13.4.3 获取分布式设备 / 295
13.4.4 页面迁移 / 296
13.4.5 跨端迁移流程 / 301
13.4.6 邮件数据处理 / 302
13.5 小结 / 303
第 14 章 多媒体开发
14.1 鸿蒙相机开发概述 / 305
14.2 相机开发案例 / 305
14.2.1 获取权限 / 306
14.2.2 相机界面 / 308
14.2.3 创建相机设备 / 312
14.2.4 配置相机设备 / 314
14.2.5 启动预览 / 315
14.2.6 实现拍照 / 316
14.2.7 实现切换镜头 / 317
14.2.8 实现摄像功能 / 318
14.3 小结 / 323
第 15 章 鸿蒙系统的设计规范
15.1 设计规范概述 / 325
15.2 应用的导航设计原则 / 325
15.3 人机交互 / 327
15.4 分布式设计原则 / 328
15.5 小结 / 329