×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
暂无评论
图文详情
  • ISBN:9787302596424
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:712
  • 出版时间:2022-01-01
  • 条形码:9787302596424 ; 978-7-302-59642-4

本书特色

本书以HarmonyOS 2版本为基础,详细介绍了如何在HarmonyOS环境下进行手机应用的开发。内容涵盖HarmonyOS架构、DevEco Studio、应用结构、Ability、任务调度、公共事件、通知、剪贴板、Java UI、JS UI、多模输入、线程管理、视频、图像、相机、音频、媒体会话管理、媒体数据管理、安全管理、二维码、通用文字识别、蓝牙、WLAN、网络管理、电话服务、设备管理、数据管理、原子化服务、流转等多个主题。本书辅以大量的解决实际问题的开发案例,具有很强的实用性、趣味性。

内容简介

  华为自主研发的HarmonyOS(鸿蒙系统)是一款面向未来、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。借助HarmonyOS全场景分布式系统和设备生态定义全新的硬件、交互和服务体验。  《鸿蒙HarmonyOS手机应用开发实战》采用新的HarmonyOS2版本作为基石,详细介绍如何基于HarmonyOS进行手机应用的开发,内容涵盖HarmonyOS架构、DevEcoStudio、应用结构、Ability、任务调度、公共事件、通知、剪切板、JavaUI、JSUI、多模输入、线程管理、视频、图像、相机、音频、媒体会话管理、媒体数据管理、安全管理、二维码、通用文字识别、蓝牙、WLAN、网络管理、电话服务、设备管理、数据管理、原子化服务、流转等多个主题。  《鸿蒙HarmonyOS手机应用开发实战》列举了大量解决实际问题的案例,具有很强的前瞻性、应用性、趣味性。  《鸿蒙HarmonyOS手机应用开发实战》主要面向的是对移动应用或HarmonyOS应用感兴趣的学生、开发人员、架构师。  华为自主研发的HarmonyOS(鸿蒙系统)是一款面向未来、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统,借助HarmonyOS全场景分布式系统和设备生态,定义全新的硬件、交互和服务体验。  《鸿蒙HarmonyOS手机应用开发实战》以HarmonyOS2版本为基础,详细介绍了如何在HarmonyOS环境下进行手机应用的开发。  《鸿蒙HarmonyOS手机应用开发实战》内容涵盖HarmonyOS架构、DevEcoStudio、应用结构、Ability、任务调度、公共事件、通知、剪贴板、JavaUI、JSUI、多模输入、线程管理、视频、图像、相机、音频、媒体会话管理、媒体数据管理、安全管理、二维码、通用文字识别、蓝牙、WLAN、网络管理、电话服务、设备管理、数据管理、原子化服务、流转等多个主题。  《鸿蒙HarmonyOS手机应用开发实战》辅以大量的解决实际问题的开发案例,具有很强的实用性、趣味性。  《鸿蒙HarmonyOS手机应用开发实战》内容可分为以下三部分:  入门(第1-4章)介绍HarmonyOS的背景及开发环境搭建,并创建了一个简单的HarmonyOS应用。  进阶(第5-29章)介绍HarmonyOS的核心功能的开发,内容包括Ability、UI开发、线程管理、视频、图像、相机、音频、媒体会话管理、媒体数据管理、安全管理、二维码、通用文字识别、蓝牙、WLAN、网络管理、电话服务、设备管理、数据管理等。  实战(第30章)演示HarmonyOS在游戏领域的综合实战案例——俄罗斯方块游戏。  《鸿蒙HarmonyOS手机应用开发实战》面向对移动应用或HarmonyOS应用感兴趣的学生、开发人员、系统架构师。

目录

第1章 HarmonyOS简介 1

1.1 HarmonyOS产生的背景 1

1.1.1 为什么需要HarmonyOS 1

1.1.2 什么是HarmonyOS 3

1.1.3 鸿蒙生态、OpenHarmony、HarmonyOS的区别与联系 4

1.1.4 HarmonyOS应用开发 4

1.2 特性介绍 5

1.2.1 硬件互助,资源共享 5

1.2.2 一次开发,多端部署 8

1.2.3 统一OS,弹性部署 8

1.3 架构介绍 8

1.3.1 内核层 9

1.3.2 系统服务层 9

1.3.3 框架层 10

1.3.4 应用层 11

1.4 获取开发支持 12

第2章 开发环境搭建 13

2.1 注册华为开发者联盟账号 13

2.1.1 开发者享受的权益 13

2.1.2 注册、认证准备的资料 14

2.1.3 注册账号 14

2.1.4 登录账号 15

2.1.5 实名认证 15

2.2 DevEco Studio下载安装 19

2.2.1 运行环境要求 20

2.2.2 下载和安装Node.js 20

2.2.3 下载和安装DevEco Studio 20

2.3 设置DevEco Studio(可选) 21

2.3.1 npm设置 21

2.3.2 设置Gradle代理 22

2.3.3 设置DevEco Studio代理 23

2.3.4 下载HarmonyOS SDK 24

2.4 DevEco Studio功能介绍 26

2.4.1 创建新的工程 26

2.4.2 添加Module 27

2.4.3 删除Module 30

2.5 DevEco Studio常见问题小结 30

2.5.1 问题1:访问Gradle仓库慢 31

2.5.2 问题2:模拟器端口被占用无法启动 32

第3章 开发**个HarmonyOS应用 33

3.1 创建一个新工程 33

3.1.1 选择创建新工程 33

3.1.2 选择设备应用类型的模板 33

3.1.3 配置项目的信息 34

3.1.4 自动生成工程代码 35

3.2 运行工程 35

3.2.1 单击“运行”按钮 35

3.2.2 选择模拟器 36

3.2.3 启动模拟器 36

3.2.4 再次运行工程 38

3.3 在本地真机中运行应用 39

3.3.1 连接真实的设备 39

3.3.2 运行应用 40

3.4 使用远程真机运行应用 40

3.4.1 启动远程真机设备 40

3.4.2 运行应用 41

3.4.3 对应用进行签名 41

3.4.4 再次运行应用 44

3.5 使用DevEco Studio预览器 45

3.5.1 如何安装预览器 45

3.5.2 如何使用预览器 45

第4章 探索HarmonyOS应用 46

4.1 App 46

4.2 Ability 48

4.3 库文件 50

4.4 资源文件 50

4.5 配置文件 53

4.6 pack.info 63

第5章 Ability基础知识 64

5.1 Ability概述 64

5.2 Ability的三层架构 65

5.3 Page Ability 69

5.4 实战:多个AbilitySlice间的路由和导航 72

5.5 Page与AbilitySlice的生命周期 79

5.6 实战:Page与AbilitySlice生命周期的例子 82

5.7 Service Ability 92

5.8 实战:Service Ability生命周期的例子 97

5.9 Data Ability 105

5.10 实战:使用DataAbilityHelper访问文件 107

5.11 实战:使用DataAbilityHelper访问数据库 117

5.12 Intent 127

第6章 Ability任务调度 140

6.1 分布式任务调度概述 140

6.2 分布式任务调度能力简介 142

6.3 分布式任务调度实现原理 145

6.4 实现分布式任务调度 147

6.5 实战:分布式任务调度启动远程FA 148

6.6 实战:分布式任务调度启动和关闭远程PA 157

第7章 Ability公共事件与通知 169

7.1 公共事件与通知概述 169

7.2 公共事件服务 170

7.3 实战:公共事件服务发布事件 176

7.4 实战:公共事件服务订阅事件 180

7.5 高级通知服务 183

7.6 实战:通知发布与取消 188

第8章 剪贴板 193

8.1 剪贴板概述 193

8.2 场景介绍 193

8.3 接口说明 194

8.3.1 SystemPasteboard 194

8.3.2 PasteData 195

8.3.3 PasteData.Record 195

8.3.4 PasteData.DataProperty 196

8.3.5 IPasteDataChangedListener 196

8.4 实战:剪贴板数据的写入 196

8.4.1 修改ability_main.xml 196

8.4.2 修改MainAbilitySlice 197

8.4.3 运行 199

8.5 实战:剪切板数据的读取 199

8.5.1 修改ability_main.xml 199

8.5.2 修改MainAbilitySlice 200

8.5.3 运行 202

第9章 用Java开发UI 204

9.1 用Java开发UI概述 204

9.2 组件与布局 206

9.3 实战:通过XML创建布局 207

9.4 实战:通过Java创建布局 211

9.5 实战:常用显示类组件——Text 215

9.6 实战:常用显示类组件——Image 227

9.7 实战:常用显示类组件——ProgressBar 230

9.8 实战:常用交互类组件——Button 234

9.9 实战:常用交互类组件——TextField 247

9.10 实战:常用交互类组件——Checkbox 251

9.11 实战:常用交互类组件——RadioButton/RadioContainer 253

9.12 实战:常用交互类组件——Switch 259

9.13 实战:常用交互类组件——ScrollView 261

9.14 实战:常用交互类组件——Tab/TabList 263

9.15 实战:常用交互类组件——Picker 268

9.16 实战:常用交互类组件——ListContainer 272

9.17 实战:常用交互类组件——RoundProgressBar 276

9.18 实战:常用交互类组件——DirectionalLayout 278

9.19 实战:常用交互类组件——DependentLayout 283

9.20 实战:常用交互类组件——StackLayout 286

9.21 实战:常用交互类组件——TableLayout 288

第10章 用JS开发UI 290

10.1 用JS开发UI概述 290

10.2 实战:创建JS FA应用 291

10.3 组件与布局 297

10.4 实战:点赞按钮 299

10.5 实战:JS FA调用PA 301

第11章 多模输入UI开发 307

11.1 多模输入概述 307

11.2 接口说明 308

11.3 实战:多模输入事件 311

第12章 线程管理 314

12.1 线程管理概述 314

12.2 场景介绍 314

12.3 接口说明 317

12.4 实战:线程管理示例 318

12.5 线程间通信概述 323

12.6 实战:线程间通信示例 324

第13章 视频 330

13.1 视频概述 330

13.2 实战:媒体编解码能力查询 330

13.3 实战:视频编解码 334

13.4 实战:视频播放 340

13.5 实战:视频录制 347

第14章 图像 353

14.1 图像概述 353

14.2 实战:图像解码和编码 354

14.3 实战:位图操作 361

14.4 实战:图像属性解码 368

第15章 相机 373

15.1 相机概述 373

15.2 实战:相机设备创建 375

15.3 实战:相机设备配置 382

15.4 实战:相机帧捕获 387

第16章 音频 394

16.1 音频概述 394

16.2 实战:音频播放 395

16.3 实战:音频采集 402

16.4 实战:短音播放 408

第17章 媒体会话管理 414

17.1 媒体会话管理概述 414

17.2 接口说明 416

17.3 实战:AVSession媒体框架客户端 419

17.4 实战:AVSession媒体框架服务端 424

第18章 媒体数据管理 429

18.1 媒体数据管理概述 429

18.2 实战:媒体元数据的获取 430

18.3 实战:媒体存储数据操作 436

18.4 实战:视频与图像缩略图获取 444

第19章 安全管理 451

19.1 权限的基本概念 451

19.2 权限运作机制 452

19.3 权限约束与限制 452

19.4 应用权限列表 453

19.5 应用权限开发流程 455

19.6 生物特征识别认证概述 461

19.7 生物特征识别运作机制 461

19.8 生物特征识别的约束与限制 462

19.9 生物特征识别的开发流程 462

第20章 二维码 466

20.1 二维码概述 466

20.2 场景介绍 467

20.3 接口说明 468

20.4 实战:生成二维码 468

第21章 通用文字识别 474

21.1 通用文字识别概述 474

21.2 场景介绍 475

21.3 接口说明 475

21.4 实战:通用文字识别示例 477

第22章 蓝牙 484

22.1 蓝牙概述 484

22.2 实战:传统蓝牙本机管理 485

22.3 实战:传统蓝牙远端设备操作 494

22.4 实战:BLE扫描和广播 503

第23章 WLAN 512

23.1 WLAN概述 512

23.2 实战:WLAN的基础功能 513

23.3 实战:不信任热点配置 522

23.4 实战:WLAN消息通知 527

第24章 网络管理 533

24.1 网络管理概述 533

24.2 实战:使用当前网络打开一个URL链接 534

24.3 实战:使用当前网络进行Socket数据传输 540

24.4 实战:流量统计 546

第25章 电话服务 553

25.1 电话服务概述 553

25.2 实战:获取当前蜂窝网络信号信息 554

25.3 实战:观察蜂窝网络的状态变化 559

第26章 设备管理 568

26.1 设备管理概述 568

26.2 实战:传感器示例 572

26.3 实战:Light示例 578

26.4 实战:获取设备的位置 582

26.5 实战:(逆)地理编码转化 589

第27章 数据管理 595

27.1 数据管理概述 595

27.2 关系型数据库 596

27.3 对象关系映射数据库 601

27.4 实战:使用对象关系映射数据库 605

27.5 轻量级偏好数据库 619

27.6 实战:使用轻量级偏好数据库 622

27.7 数据存储管理 630

27.8 实战:使用数据存储管理 632

第28章 原子化服务 637

28.1 原子化服务概述 637

28.2 服务中心 639

28.3 实战:原子化服务HelloDog 641

第29章 流转 657

29.1 流转概述 657

29.2 流转架构 658

29.3 跨端迁移 661

29.4 实战:实现跨端迁移与回迁 665

29.5 多端协同 674

29.6 实战:实现多端协同 677

第30章 综合案例:俄罗斯方块游戏 687

30.1 案例概述 687

30.2 代码实现 688

30.3 应用运行 711

参考文献 713

展开全部

作者简介

  柳伟卫,网名老卫、waylau,在IT公司担任过项目经理、架构师、高级技术顾问等职位,拥有十余年开发经验,具有丰富的软件开发管理及系统架构经验。曾主导过多个省、***大型分布式系统的设计与研发,参与过面向全球的供应链系统服务化改造。在工作实践中,积累了大量的分布式系统、微服务架构以及性能调优经验。喜欢开源,长期活跃于各大开源社区,编著了《Netty4。x用户指南》《Netty实战(精髓)》等30余本开源技术教程,广受网友好评,是CSDN、开源中国、阿里云开发者、华为开发者等技术社区专家。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航