目录
1 应用开发介绍 1
1.1 HarmonyOS概述 1
1.1.1 系统定义 1
1.1.2 技术特性 2
1.1.3 系统安全 5
1.2 OpenHarmony概述 7
1.2.1 OpenHarmony开源项目简介 7
1.2.2 OpenHarmony与HarmonyOS 8
1.3 应用开发简介 9
1.3.1 南向设备开发与北向应用开发简介 9
1.3.2 HarmonyOS与OpenHarmony应用开发的区别 9
2 应用开发入门 13
2.1 应用开发环境安装 13
2.1.1 搭建开发环境流程 13
2.1.2 下载与安装软件 13
2.1.3 配置开发环境 16
2.1.4 创建Hello World工程 21
2.1.5 Hello World在预览器中查看应用效果 23
2.1.6 模拟器运行Hello World 24
2.2 真机调试 26
2.2.1 真机设备运行流程 26
2.2.2 生成密钥和证书请求文件 28
2.2.3 创建您的AGC项目 30
2.2.4 创建HarmonyOS应用 32
2.2.5 申请调试证书、注册调试设备和Profile文件 33
2.2.6 配置签名信息 38
2.2.7 通过DevEco Studio自动化签名 39
2.2.8 构建带签名信息的HAP 41
2.2.9 在Phone或Tablet中运行应用 42
2.3 工程管理 45
2.3.1 APP工程结构 45
2.3.2 Java工程目录结构 46
2.3.3 JS工程目录结构 48
2.3.4 ets项目简介及工程目录结构 49
2.3.5 在工程中添加/删除Module 51
2.4 应用调试 56
2.4.1 调试设置 56
2.4.2 启动调试 59
2.4.3 断点管理 60
2.4.4 变量可视化调试 61
2.4.5 HiLog日志打印 61
3 开发基础知识 62
3.1 应用配置文件 62
3.1.1 简介 62
3.1.2 配置文件的元素 63
3.1.3 配置文件示例 89
3.2 应用资源文件 91
3.2.1 资源文件的分类 91
3.2.2 资源文件的使用 96
3.2.3 国际化能力的支持 101
3.3 安全与隐私 106
3.3.1 应用安全管理 106
3.3.2 应用隐私保护 107
3.3.3 三方应用调用管控机制 114
3.4 AI能力概述 115
4 基于JS扩展的类Web开发范式 116
4.1 JS UI框架概述 116
4.1.1 基础能力 116
4.1.2 整体架构 116
4.1.3 VeiwModel与单向数据流 117
4.2 JS FA 概述 118
4.2.1 AceAbility 119
4.2.2 如何加载 JS FA 119
4.2.3 JS FA 开发目录 120
4.3 JS FA开发语法参考 121
4.3.1 HML语法参考 121
4.3.2 CSS语法参考 135
4.3.3 JS语法参考 140
4.3.4 生命周期 146
4.4 JS UI常用组件 148
4.4.1 组件介绍 148
4.4.2 通用属性 149
4.4.3 通用样式与Flex布局 150
4.4.4 通用事件 162
4.4.5 通用方法 165
4.4.6 常用容器组件 166
4.4.7 基础组件 188
4.4.8 媒体组件 217
4.4.9 画布组件 224
4.5 动画 233
4.5.1 动画样式 233
4.5.2 基于组件的animate方法快速创建和运行动画 239
4.5.3 基于系统api接口创建和运行动画 244
4.6 自定义组件 248
4.6.1 基本用法 248
4.6.2 Props自定义属性 251
4.6.3 自定义事件 256
4.6.4 生命周期定义 259
4.6.5 底部导航栏组件开发案例 260
4.7 使用JS UI框架开发智能家居app首页 268
4.7.1 布局分解 269
4.7.2 导入自定义的底部导航栏组件 270
4.7.3 实现标题区的内容 270
4.7.4 实现总览区的内容 271
4.7.5 实现房间网格展示区的内容 272
5 JS接口能力开发 274
5.1 通用 274
5.1.1 通用规则 274
5.1.2 通用错误码 277
5.2 基本功能 278
5.2.1 启动一个Ability 278
5.2.2 意图常量 284
5.2.3 应用上下文 286
5.2.4 日志打印 287
5.2.5 页面路由 288
5.2.6 弹窗 296
5.2.7 应用配置 299
5.2.8 定时器 300
5.2.9 窗口 302
5.2.10 剪贴板 308
5.3 文件与数据存储 310
5.3.1 轻量级存储 310
5.3.2 Ability上下文 314
5.3.3 文件交互 314
5.3.4 文件管理 316
5.4 网络访问 319
5.4.1 数据请求 319
5.4.2 上传下载 323
5.4.3 WebSocket连接 326
5.5 系统能力 329
5.5.1 通知消息 329
5.5.2 振动 330
5.5.3 传感器 331
5.5.4 地理位置 333
5.5.5 网络状态 336
5.5.6 设备信息 338
5.5.7 屏幕亮度 339
5.5.8 电池和充电属性 342
5.5.9 电量信息 344
5.5.10 应用管理 345
5.5.11 媒体查询 345
5.5.12 国际化 347
5.6 通信与连接 350
5.6.1 WLAN 350
6 Java PA开发 352
6.1 Service Ability开发 352
6.1.1 Service Ability 基本概念 352
6.1.2 创建 Service 352
6.1.3 启动 Service 355
6.1.4 停止 Service 356
6.2 JS FA 调用 PA 356
6.2.1 FA 调用 PA 接口 356
6.2.2 FA 调用 PA 常见问题 357
6.2.3 JS FA 调用 PA完整示例 357
6.3 关系型数据库 365
6.3.1 关系型数据库概述 365
6.3.2 数据库的创建和删除 365
6.3.3 插入数据 367
6.3.4 更新数据 368
6.3.5 删除数据 368
6.3.6 查询数据 369
6.3.7 数据库谓词的使用 370
6.4 对象关系映射数据库 371
6.4.1 对象关系映射数据库概述 371
6.4.2 配置gradle 371
6.4.3 构造数据库 372
6.4.4 构造数据表 372
6.4.5 创建数据库 375
6.4.6 对象数据的增删改查 375
6.4.7 设置数据变化观察者 377
6.4.8 备份数据库 377
6.4.9 删除数据库 378
6.5 Data Ability开发 378
6.5.1 Data Ability基本概念 378
6.5.2 创建Data 379
6.6 访问Data 383
6.6.1 声明使用权限 383
6.6.2 创建DataAbilityHelper 384
6.6.3 访问Data Ability 384
7 JS分布式开发专题 386
7.1 分布式流转概述 387
7.1.1 基本概念 387
7.1.2 流转架构 387
7.2 权限 388
7.2.1 权限开发概述 388
7.2.2 敏感权限与非敏感权限 390
7.2.3 自定义权限开发指导 392
7.2.4 动态权限申请开发指导 395
7.3 JS分布式开发指导 397
7.3.1 使用分布式模拟器运行应用 397
7.3.2 分布式拉起FA 399
7.3.3 分布式迁移 404
7.3.4 分布式API在FA生命周期中的位置 409
8 原子化服务与卡片开发专题 409
8.1 原子化服务概述 409
8.1.1 什么是原子化服务 409
8.1.2 原子化服务特征 410
8.1.3 原子化服务基础体验 410
8.1.4 原子化服务分布式体验 412
8.1.5 原子化服务典型使用场景 413
8.1.6 服务中心简介 413
8.2 原子化服务总体开发要求与入门 416
8.2.1 总体开发要求 416
8.2.2 原子化服务开发入门案例 417
8.3 服务卡片 421
8.3.1 服务卡片概述 421
8.3.2 服务卡片开发简介 424
8.3.3 JS卡片开发指导 427
8.3.4 智能家居卡片开发案例 441
9 基于TS扩展的声明式开发范式 454
9.1 概述 454
9.1.1 基础能力 454
9.1.2 整体架构 455
9.2 体验声明式UI 456
9.2.1 创建声明式UI工程 456
9.2.2 声明式UI工程目录结构及重要文件解析 459
9.2.3 初识Component 461
9.3 声明式语法 462
9.3.1 描述规范使用说明 462
9.3.2 基本概念 463
9.3.3 声明式UI描述规范 464
9.3.4 组件化 467
9.3.5 UI 状态管理 474
9.3.6 渲染控制语法 489
9.3.7 深入理解组件化@Component 496
9.3.8 语法糖 501
9.4 声明式UI常用组件 504
9.4.1 目前支持的UI组件 504
9.5 使用声明式UI开发智能家居页面 505
9.5.1 布局分解 505
9.5.2 底部导航栏实现 506
9.5.3 实现首页中的标题区 514
9.5.4 实现首页中的总览区 515
9.5.5 实现预览房间网格展示区 516
10 附录 519
10.1 华为认证介绍 519
10.2 学习资源 519
展开