图书目录

目    录

第一部分  基础知识

第1章  ArkTS声明式UI开发规范 2

1.1  HarmonyOS NEXT的介绍及其特点 2

1.1.1  HarmonyOS NEXT概览 3

1.1.2  核心亮点 3

1.1.3  深远影响 3

1.1.4  开发者机遇 4

1.2  整体架构 4

1.3  开发流程 6

1.4  通用规则 6

1.5  开发环境搭建 7

1.5.1  概述 7

1.5.2  工具准备 7

1.5.3  安装DevEco Studio 7

1.5.4  诊断开发环境 10

1.5.5  启用中文化插件 11

1.6  编写HarmonyOS NEXT入门程序 12

1.6.1  案例说明 12

1.6.2  创建ArkTS工程 12

1.6.3  ArkTS工程目录结构(Stage模型) 14

1.6.4  构建第一个页面 15

1.6.5  构建第二个页面 18

1.6.6  实现页面间的跳转 20

1.7  本章小结 24

1.8  本章习题 24

第2章  ArkUI常用开发布局 25

2.1  布局概述 25

2.2  线性布局 28

2.3  层叠布局 43

2.4  弹性布局 47

2.5  相对布局 64

2.6  栅格布局 73

2.7  列表布局 92

2.8  网格布局 102

2.9  轮播布局 107

2.10  选项卡布局 110

2.11  本章小结 116

2.12  本章习题 117

第3章  ArkUI中的常用组件 118

3.1  按钮组件 118

3.2  单选框组件 129

3.3  切换按钮组件 131

3.4  进度条组件 135

3.5  文本组件 139

3.6  文本输入组件 145

3.7  图片组件 149

3.8  自定义弹窗 162

3.9  视频播放组件 167

3.10  本章小结 173

3.11  本章习题 173

第4章  组件导航和页面路由 174

4.1  组件导航 174

4.2  导航转场 181

4.3  页面路由 187

4.4  从Router切换到Navigation 198

4.5  本章小结 204

4.6  本章习题 205

第5章  交互事件 206

5.1  交互事件介绍 206

5.2  事件分发 207

5.2.1  概述 207

5.2.2  触摸测试 207

5.3  触屏事件 209

5.3.1  点击事件 209

5.3.2  触摸事件 210

5.3.3  事件响应链的收集 212

5.4  焦点事件 212

5.4.1  基础概念 212

5.4.2  获焦/失焦事件 213

5.4.3  设置组件是否可获焦 215

5.4.4  默认焦点 218

5.4.5  整体获焦 220

5.4.6  主动获焦/失焦 221

5.4.7  焦点组与获焦优先级 223

5.4.8  焦点与按键事件 225

5.5  拖曳事件 227

5.5.1  拖曳事件概述 228

5.5.2  手势拖曳 228

5.5.3  鼠标拖曳 228

5.5.4  拖曳背板图 230

5.5.5  通用拖曳适配 231

5.6  手势事件 234

5.6.1  手势绑定方法 234

5.6.2  单一手势 236

5.6.3  组合手势 243

5.6.4  多层级手势事件 247

5.7  本章小结 251

5.8  本章习题 251

第6章  窗口管理 252

6.1  窗口开发概述 252

6.1.1  窗口模块的定义 252

6.1.2  窗口模块的用途 252

6.1.3  基本概念 253

6.1.4  实现原理 254

6.2  Stage模型的应用窗口管理 256

6.3  本章小结 269

6.4  本章习题 270

第7章  ArkWeb 271

7.1  ArkWeb简介 271

7.1.1  ArkWeb概述 271

7.1.2  ArkWeb的功能 271

7.1.3  ArkWeb组件进程 272

7.2  Web组件的生命周期 273

7.2.1  Web组件的生命周期简介 273

7.2.2  Web组件加载的其他事件 274

7.2.3  Web组件性能指标 277

7.3  UserAgent开发 278

7.3.1  UserAgent结构 278

7.3.2  自定义UserAgent结构 279

7.4  前端页面的JavaScript使用 280

7.4.1  调用前端页面函数 280

7.4.2  前端页面调用应用函数 282

7.4.3  建立应用与前端页面的数据通道 282

7.5  本章小结 285

7.6  本章习题 286

第二部分  应用开发进阶

第8章  动画 288

8.1  属性动画 289

8.1.1  属性动画概述 289

8.1.2  属性动画分类 290

8.1.3  实现属性动画 290

8.2  转场动画 295

8.2.1  转场动画概述 295

8.2.2  转场动画的分类 295

8.2.3  出现/消失转场 295

8.3  组件动画 300

8.3.1  实现组件动画 301

8.3.2  打造组件定制化动效 302

8.4  本章小结 310

8.5  本章习题 310

第9章  网络服务 311

9.1  网络服务概述 311

9.2  HTTP数据请求概述 312

9.2.1  HTTP数据请求 312

9.2.2  request接口开发 312

9.2.3  requestInStream接口开发 314

9.3  WebSocket概述 316

9.3.1  WebSocket 317

9.3.2  WebSocket接口 317

9.3.3  WebSocket开发实现 317

9.4  Socket 319

9.4.1  Socket连接 319

9.4.2  Socket连接场景 320

9.4.3  Socket接口 320

9.4.4  TCP/UDP协议进行通信 322

9.4.5  TCP Socket Server进行数据传输 324

9.4.6  Multicast Socket进行数据传输 326

9.4.7  LocalSocket进行数据传输 327

9.4.8  Local Socket Server进行数据传输 328

9.4.9  TLS Socket进行加密数据传输 330

9.4.10  TCP Socket升级为TLS Socket进行加密数据传输 333

9.4.11  TLS Socket Server进行加密数据传输 335

9.5  MDNS管理 337

9.5.1  MDNS简介 337

9.5.2  MDNS接口 338

9.5.3  管理本地服务 338

9.5.4  发现本地服务 340

9.6  本章小结 341

9.7  本章习题 342

第三部分  应用开发高级

第10章  一多开发 344

10.1  一多开发简介 344

10.1.1  定义及目标 344

10.1.2  基础知识 345

10.2  工程管理 347

10.2.1  工程创建 347

10.2.2  新建Module 348

10.2.3  修改Module配置 349

10.2.4  调整目录结构 351

10.2.5  修改依赖关系 352

10.2.6  引用ohpm包中的代码 353

10.3  页面开发的一多能力介绍 354

10.3.1  布局能力 354

10.3.2  交互归一 366

10.3.3  多态组件 367

10.3.4  资源使用 367

10.4  功能开发的一多能力介绍 370

10.4.1  系统能力 370

10.4.2  多设备应用开发 371

10.4.3  总结 373

10.5  本章小结 373

10.6  本章习题 373

第11章  OpenHarmony第三方库的使用 374

11.1  第三方库使用案例 374

11.2  ohpm 377

11.2.1  系统平台要求 377

11.2.2  常用命令 377

11.3  第三方库harmony-dialog的使用 383

11.4  本章小结 389

11.5  本章习题 389

第12章  基于uni-app开发鸿蒙应用 390

12.1  创建uni-app项目 390

12.2  基础组件 397

12.2.1  icon 397

12.2.2  text 397

12.3  表单组件 399

12.3.1  button 399

12.3.2  checkbox 402

12.3.3  picker 405

12.3.4  picker-view 412

12.3.5  radio 414

12.3.6  slider 417

12.3.7  switch 418

12.3.8  textarea 419

12.4  navigator 422

12.5  本章小结 426

12.6  本章习题 426