图书目录

目录

第1章 HarmonyOS开发基础     1

1.1 智能手机系统介绍   2

1.1.1 智能手机系统的特点     2

1.1.2 Android系统介绍   2

1.1.3 iOS系统介绍      3

1.2 HarmonyOS介绍    4

1.2.1 HarmonyOS的发展历程      4

1.2.2 HarmonyOS、OpenHarmony、鸿蒙生态的区别与联系       5

1.3 HarmonyOS的优点      6

1.3.1 分布式架构      6

1.3.2 多设备支持      6

1.3.3 开发者友好      7

1.4 HarmonyOS架构分析    8

1.4.1 整体架构图      8

1.4.2 内核层      8

1.4.3 系统服务层      9

1.4.4 框架层         10

1.4.5 应用层         10

第2章 搭建开发环境     12

2.1 HarmonyOS应用开发介绍   13

2.1.1 HarmonyOS应用/服务的开发流程   13

2.1.2 配置开发环境的流程   13

2.2 搭建DevEco Studio开发环境     13

2.2.1 DevEco Studio的特点       13

2.2.2 环境要求       14

2.2.3 下载并安装DevEco Studio       14

2.3 配置DevEco Studio开发环境     16

2.3.1 下载SDK及工具链    16

2.3.2 配置向导       17

2.4 使用DevEco Studio开发第一个鸿蒙应用程序      20

2.4.1 创建工程       21

2.4.2 DevEco Studio界面介绍     23

2.4.3 在模拟器中运行程序   27

2.4.4 在本地真机中运行程序     28

第3章 HarmonyOS应用模型   30

3.1 HarmonyOS应用模型介绍   31

3.1.1 应用模型的组成元素   31

3.1.2 应用模型的发展进程   31

3.1.3 FA模型与Stage模型的对比     32

3.2 Stage模型开发基础     33

3.2.1 Stage模型的知识体系      33

3.2.2 Stage应用/组件级配置     34

3.3 UIAbility组件       37

3.3.1 UIAbility组件生命周期     38

3.3.2 UIAbility组件的启动模式       41

3.3.3 UIAbility组件的基本用法       44

3.3.4 UIAbility组件与UI的数据同步     46

3.3.5 UIAbility实战:页面跳转       48

3.4 服务卡片        52

3.4.1 服务卡片架构     52

3.4.2 ArkTS卡片开发   53

3.4.3 开发基于JS UI的卡片      54

3.4.4 卡片实战:多设备自适应服务卡片  55

第4章 Java UI开发     61

4.1 Ability框架       62

4.1.1 Page Ability       62

4.1.2 Ability实战:使用PageAbility实现页面跳转       64

4.2 UI布局      67

4.2.1 代码布局       67

4.2.2 XML布局     69

4.2.3 Java布局类       71

4.3 常用组件开发       78

4.3.1 Text和Button组件     78

4.3.2 Image组件     80

4.3.3 TabList和Tab组件     81

4.3.4 Picker和DatePicker组件    82

4.3.5 TimePicker组件   84

4.3.6 Switch组件       85

4.3.7 RadioButton和Checkbox组件   86

4.3.8 ProgressBar、RoundProgressBar和Slider组件     88

4.3.9 ToastDialog、PopupDialog和CommonDialog组件    93

第5章 Ark UI开发       99

5.1 方舟开发框架概述     100

5.1.1 框架说明      100

5.1.2 基本语法      101

5.1.3 创建自定义组件       104

5.2 UI布局         108

5.2.1 布局结构      108

5.2.2 线性布局      109

5.2.3 层叠布局      112

5.2.4 弹性布局      116

5.2.5 相对布局      119

5.2.6 栅格布局      123

5.2.7 列表布局      129

5.2.8 网格布局      131

5.3 基本组件       134

5.3.1 按钮组件      134

5.3.2 单选框组件       138

5.3.3 进度条组件       140

5.3.4 切换按钮组件     142

5.3.5 文本显示组件     144

5.3.6 文本输入框       147

5.3.7 视频播放组件     150

5.3.8 气泡提示      155

5.3.9 菜单      157

第6章 图形、图像开发     159

6.1 显示图片       160

6.1.1 Image组件介绍   160

6.1.2 Image组件实战:手机相册系统    162

6.2 绘制几何图形     172

6.2.1 Shape基础       172

6.2.2 Shape实战:绘制各种各样的图形   175

6.3 画布       177

6.3.1 Canvas绘制自定义图形    178

6.3.2 Canvas的常用绘图方法    179

6.4 动画       182

6.4.1 ArkUI动画的分类    182

6.4.2 布局更新动画     183

6.4.3 组件内转场动画       186

第7章 多媒体开发     191

7.1 HarmonyOS多媒体开发架构    192

7.2 AVPlayer和AVRecorder    192

7.2.1 AVPlayer      193

7.2.2 AVRecorder       194

7.3 音频播放       195

7.3.1 使用AVPlayer开发音频播放程序   195

7.3.2 使用AudioRenderer开发音频播放程序   198

7.3.3 使用OpenSL ES开发音频播放程序   203

7.3.4 音频播放实战:多功能音乐播放器   205

7.4 开发音频录制程序     212

7.4.1 使用AVRecorder开发音频录制程序   213

7.4.2 使用AudioCapturer开发音频录制程序   216

7.4.3 使用OpenSL ES开发音频录制程序   218

7.4.4 管理麦克风       220

7.5 音频通话       222

7.5.1 音频通话基础     222

7.5.2 开发音频通话功能     223

7.6 视频播放       229

第8章 相机开发   233

8.1 相机开发概述     234

8.2 开发相机程序     234

8.2.1 相机接口      234

8.2.2 创建相机设备     235

8.2.3 配置相机设备     238

8.2.4 拍照      240

8.3 相机实战:多功能拍照程序     246

8.3.1 配置文件      246

8.3.2 布局文件      246

8.3.3 主界面逻辑       247

8.3.4 拍照逻辑      249

8.3.5 录制视频逻辑     254

第9 章 网络程序开发    259

9.1 网络管理开发      260

9.1.1 HTTP 数据请求   260

9.1.2 WebSocket 连接   264

9.1.3 Socket 连接       270

9.2 IPC 与RPC 通信        273

9.2.1 IPC 与RPC 的基本概念    273

9.2.2 开发IPC 与RPC 通信程序      274

第10 章 数据管理        277

10.1 HarmonyOS 数据管理介绍      278

10.2 应用数据持久化        279

10.2.1 使用用户首选项存储数据     279

10.2.2 使用键值型数据库存储数据   286

10.2.3 使用关系型数据库存储数据   290

第11 章 电话和短信服务      301

11.1 电话服务开发概述      302

11.2 跳转拨号界面      302

11.2.1 拨号接口     302

11.2.2 开发一个拨号程序   303

11.3 获取当前蜂窝网络信号信息      307

11.4 短信服务       308

11.4.1 sms 模块介绍    308

11.4.2 sms 实战:发送指定内容的短信   311

第12 章 设备管理        313

12.1 USB 开发      314

12.1.1 HarmonyOS USB API 介绍     314

12.1.2 开发HarmonyOS USB 程序    316

12.2 位置服务       319

12.2.1 位置开发概述   319

12.2.2 获取设备的位置信息     320

12.2.3 地理编码转化   325

12.3 传感器         327

12.3.1 HarmonyOS 系统传感器介绍     327

12.3.2 开发传感器应用程序     329

12.4 综合实战:健身计步器      332

12.4.1 系统配置       332

12.4.2 UI 视图      334

12.4.3 项目主界面     341

第13 章 综合实战:新闻客户端(Node.js 服务端+HarmonyOS 客户端)    347

13.1 背景介绍       348

13.2 项目介绍       348

13.2.1 主要特点       348

13.2.2 项目结构       349

13.3 系统架构       349

13.4 服务器端       349

13.4.1 系统配置       350

13.4.2 Model 模块      351

13.4.3 控制器       353

13.4.4 视图组件       355

13.5 客户端         355

13.5.1 系统配置       355

13.5.2 通用模块       357

13.5.3 数据交互       366

13.5.4 视图界面       370

13.5.5 入口界面       378

13.6 调试运行       378