书籍详情
HCIA-HarmonyOS应用开发学习指南
作者:华为技术有限公司 著
出版社:人民邮电出版社
出版时间:2022-05-01
ISBN:9787115584663
定价:¥199.80
购买这本书可以去
内容简介
本书首先对HarmonyOS和OpenHarmony进行概述,同时阐述了两者的区别,其次讲解了HarmonyOS应用开发的流程以及必备的开发基础知识,接着介绍了基于JS UI框架以及丰富的组件快速开发应用程序UI的方法,然后针对 HarmonyOS 的接口能力进行了详细说明,还介绍了Java PA开发,包括Service开发、JS和Java的混合开发(JS FA调用Java PA)、数据库及Data Ability开发等,最后通过3个开发专题讲解HarmonyOS应用开发的重要核心技术。除了全面的知识讲解,本书还有详细的案例说明,通过理论与案例结合,使开发者快速掌握各项基础开发技能。本书作为HarmonyOS应用开发工具手册,适合有一定基础的JS和Java开发者或对HarmonyOS感兴趣的移动应用开发、设计、测试工程师及小程序开发人员阅读,可帮助读者快速掌握HarmonyOS应用开发的技巧。
作者简介
华为技术有限公司,成立于1987年,总部位于广东省深圳市龙岗区。华为是全球领先的信息与通信技术(ICT)解决方案供应商,专注于ICT领域,坚持稳健经营、持续创新、开放合作,在电信运营商、企业、终端和云计算等领域构筑了端到端的解决方案优势,为运营商客户、企业客户和消费者提供有竞争力的ICT解决方案、产品和服务,并致力于实现未来信息社会、构建更美好的全联接世界。
目录
目录
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
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
猜您喜欢