第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