新書推薦:

《
故宫博物院百年百事
》
售價:HK$
653

《
天下的当代性:世界秩序的实践与想象
》
售價:HK$
439

《
中国ESG卓越实践(2024) 探索创新ESG中国实践的路径和方法
》
售價:HK$
1010

《
大浪淘沙:从五代到十国 王宏杰五代史三部曲系列 一部生动而富有深度的乱世长卷 一幅反映人性的丰富画卷
》
售價:HK$
490

《
第八个侦探
》
售價:HK$
305

《
情结(精装)俄狄浦斯情结/该隐情结/自卑情结/救世主情结…… 在诉说与倾听中打开心灵的窗户,探索情结
》
售價:HK$
281

《
台湾百科全书历史篇
》
售價:HK$
857

《
建安 英雄的绝响(214—219)
》
售價:HK$
301
|
| 編輯推薦: |
|
(1)以HarmonyOSNEXT为基础,详细介绍HarmonyOS的新特性,包括ArkUI、ArkTS、Stage模型等。(2)涵盖HarmonyOS开发应用的完整功能,包括大量的示例与两个综合实战案例,通过阅读和实践本书内容,读者能够学以致用,掌握开发实际应用的技能。(3)针对初学者,结合基础与示例,按照边讲边练的思路组织内容,深入解析HarmoneyOS开发的基本知识和相关技能,可以帮助读者轻松迈进鸿蒙应用开发的门槛。(4)配套示例代码、PPT课件、教学大纲、教学视频与读者微信群等技术交流服务。(5)示例代码经过测试,均能正确运行。
|
| 內容簡介: |
|
HarmonyOS是一款面向未来、面向全场景的分布式操作系统,借助HarmonyOS全场景分布式系统和设备生态,定义全新的硬件、交互和服务体验。《HarmonyOSNEXT应用开发实践:视频教学版》基于华为的HarmonyOSNext版本,详细介绍HarmonyOS应用开发方法,配套示例代码、PPT课件、教学大纲、教学视频与读者微信群等技术交流服务。《HarmonyOSNEXT应用开发实践:视频教学版》共分14章,内容包括认识HarmonyOS介绍、应用开发准备、学习ArkTS语言、认识UIAbility组件、ArkUI概述与布局、ArkUI基础、ArkUI进阶、公共事件、网络服务、安全管理、ArkData数据管理、设备管理器、购物应用实战案例和聊天应用实战案例。本书结合丰富的案例进行讲解,让读者快速理解并掌握相关开发技能;案例的选择侧重于解决实际问题,具有很强的前瞻性、实用性和借鉴性。《HarmonyOSNEXT应用开发实践:视频教学版》既适合HarmonyOS应用开发初学者和进阶开发者阅读,也适合作为高等院校或高职高专院校相关专业的师生学习移动应用开发的参考书。
|
| 關於作者: |
|
王树生,浙江工商大学计算机专业硕士,开源爱好者。现为某数据公司技术负责人及架构师。拥有15年以上的Android开发经验,对底层技术原理有很深的理解,曾修改过Android源码实现动态屏幕和壁纸等功能,持有CDMP证书。特地撰写此书,希望对有志于HarmonyOS开发的初学者有所帮助。
|
| 目錄:
|
第 1 章 HarmonyOS介绍 1
1.1 HarmonyOS的发展历程 1
1.2 HarmonyOS的设计理念 2
1.3 HarmonyOS的整体架构 3
1.4 HarmonyOS的技术特性 6
1.5 HarmonyOS的应用场景 7
第 2 章 应用开发准备 8
2.1 开发环境搭建 8
2.1.1 下载DevEco Studio 8
2.1.2 安装DevEco Studio 9
2.2 创建工程 11
2.3 DevEco Studio界面简介 12
2.4 运行Hello World工程 14
2.5 应用工程结构介绍 18
2.5.1 工程级目录 18
2.5.2 模块级目录 19
2.5.3 app.json5 20
2.5.4 module.json5 20
2.5.5 main_pages.json 23
2.6 应用/服务开发流程 24
第 3 章 学习ArkTS语言 25
3.1 ArkTS语言及其基本组成 25
3.1.1 ArkTS语言简介 25
3.1.2 ArkTS的基本组成 26
3.2 声明 27
3.2.1 变量、常量与自动类型推断 27
3.2.2 数据类型 28
3.2.3 运算符 31
3.2.4 语句 32
第 4 章 认识UIAbility组件 37
4.1 UIAbility组件概述 37
4.2 UIAbility组件生命周期 38
4.2.1 Create状态 38
4.2.2 WindowStageCreate和WindowStageDestroy状态 39
4.2.3 WindowStageWillDestroy状态 41
4.2.4 Foreground和Background状态 41
4.2.5 Destroy状态 42
4.2.6 自定义组件生命周期 42
4.3 UIAbility组件的用法与数据传递 44
4.3.1 指定UIAbility的启动页面 44
4.3.2 获取UIAbility的上下文信息 44
4.3.3 使用EventHub进行数据通信 45
4.3.4 使用AppStorage/LocalStorage进行数据同步 47
4.4 应用内页面跳转及数据交互 48
4.4.1 启动应用内的UIAbility 48
4.4.2 启动应用内的UIAbility并获取返回结果 50
4.4.3 启动UIAbility的指定页面 51
4.5 UIAbility组件启动模式 54
4.5.1 Singleton启动模式 55
4.5.2 Multiton启动模式 56
4.5.3 Specified启动模式 56
第 5 章 ArkUI概述与布局 59
5.1 ArkUI概述 59
5.2 ArkTS声明式开发范式 61
5.2.1 声明式开发范式的基本组成 61
5.2.2 声明式开发范式的特点 62
5.2.3 声明式开发范式的整体架构 62
5.2.4 声明式开发范式的开发流程 63
5.2.5 声明式开发范式的通用规则 64
5.3 布局设计 64
5.4 布局详解 67
5.4.1 线性布局(Row/Column) 68
5.4.2 层叠布局(Stack) 77
5.4.3 弹性布局(Flex) 80
5.4.4 相对布局(RelativeContainer) 89
5.4.5 栅格布局(GridRow/GridCol) 93
5.4.6 网格布局(Grid/GridItem) 99
5.4.7 创建列表(List) 107
5.4.8 创建轮播(Swiper) 125
5.4.9 选项卡(Tabs) 130
5.5 沉浸式效果 136
5.5.1 窗口全屏布局方案 137
5.5.2 组件安全区方案 140
第 6 章 ArkUI基础 144
6.1 基础组件 144
6.1.1 Blank 144
6.1.2 Text/Span 146
6.1.3 TextInput/TextArea 152
6.1.4 Button 154
6.1.5 Radio 157
6.1.6 Toggle 159
6.1.7 Progress 160
6.1.8 Image 162
6.2 媒体组件 172
6.2.1 Vedio 172
6.2.2 Audio 177
6.3 绘制组件 181
6.4 画布组件 187
6.4.1 使用画布组件绘制自定义图形 187
6.4.2 初始化画布组件 191
6.4.3 画布组件绘制方式 191
6.4.4 画布组件常用方法 192
6.5 实战:使用ArkUI实现登录页面 195
6.5.1 使用Column容器实现整体布局 195
6.5.2 使用Image组件实现标志展示 195
6.5.3 使用TextInput组件实现账号和密码的输入 195
6.5.4 实现“登录”按钮和“注册”按钮 196
6.5.5 实现其他登录方式 196
6.5.6 完整代码 196
第 7 章 ArkUI进阶 199
7.1 气泡和菜单 199
7.1.1 气泡提示(Popup) 199
7.1.2 菜单(Menu) 203
7.2 使用弹出框 205
7.2.1 使用全局弹出框 206
7.2.2 不依赖UI组件的全局自定义弹出框(推荐) 208
7.2.3 自定义弹出框(CustomDialog) 212
7.3 支持交互事件 220
7.3.1 交互事件概述 220
7.3.2 通用事件介绍 221
7.3.3 触屏事件 224
7.3.4 鼠标键盘事件 226
7.3.5 焦点事件 236
7.3.6 拖曳事件 251
7.3.7 手势事件介绍 259
7.4 支持适老化 274
7.4.1 基本概念 274
7.4.2 使用约束 274
7.4.3 适配适老化的组件及触发方式 275
7.4.4 SideBarContainer示例 275
7.4.5 TextPickerDialog示例 277
7.5 主题设置 279
7.5.1 应用深浅色适配 279
7.5.2 设置应用内主题换肤 281
第 8 章 公共事件 287
8.1 公共事件简介 287
8.2 动态订阅公共事件 289
8.3 取消动态订阅公共事件 290
8.4 发布公共事件 291
第 9 章 网络服务 293
9.1 HTTP数据请求 293
9.1.1 request接口开发步骤 293
9.1.2 requestInStream接口开发步骤 295
9.1.3 证书锁定 297
9.2 实战:HTTP请求获取网络天气信息 298
9.2.1 获取数据接口 299
9.2.2 配置开发环境 299
9.2.3 创建对象存储数据 300
9.2.4 创建获取天气类 301
9.2.5 创建天气显示界面 302
9.3 WebSocket连接 308
9.4 MDNS管理 310
9.4.1 管理本地服务 310
9.4.2 发现本地服务 311
9.5 网络连接管理 313
9.5.1 基本概念与典型场景 313
9.5.2 接收指定网络的状态变化通知 313
9.5.3 监控默认网络变化并主动重建网络连接 314
9.5.4 获取所有注册的网络 317
9.5.5 根据数据网络查询网络的能力信息及连接信息 317
9.5.6 使用对应网络解析域名,获取所有IP地址 320
9.6 流量管理 320
第 10 章 安全管理 322
10.1 程序访问控制 322
10.1.1 访问控制 322
10.1.2 应用权限管控 323
10.1.3 申请应用权限 325
10.1.4 向用户申请授权 329
10.2 使用安全控件 332
10.2.1 安全控件概述 332
10.2.2 使用粘贴控件 335
10.2.3 使用保存控件 336
10.2.4 使用位置控件 338
第 11 章 ArkData数据管理 341
11.1 ArkData概述 341
11.1.1 ArkData简介 341
11.1.2 运作机制 342
11.2 标准化数据定义 343
11.2.1 标准化数据类型 343
11.2.2 标准化数据结构 349
11.3 应用数据持久化 351
11.3.1 应用数据持久化概述 351
11.3.2 通过用户首选项实现数据持久化 351
11.3.3 通过键值型数据库实现数据持久化 354
11.3.4 通过关系型数据库实现数据持久化 358
11.4 同应用跨设备数据同步(分布式) 365
11.4.1 同应用跨设备数据同步概述 365
11.4.2 键值型数据库跨设备数据同步 365
11.4.3 关系型数据库跨设备数据同步 371
第 12 章 设备管理器 375
12.1 传感器 375
12.1.1 传感器开发概述 375
12.1.2 传感器类型 375
12.1.3 传感器运作机制 377
12.1.4 传感器开发步骤 378
12.2 振动 379
12.2.1 振动开发概述 379
12.2.2 振动运作机制 379
12.2.3 振动效果说明 379
12.2.4 振动开发步骤 381
12.3 状态栏开放服务 385
12.3.1 场景介绍 385
12.3.2 开发步骤 385
第 13 章 实战案例:购物应用 390
13.1 购物应用概述 390
13.1.1 购物流程说明 390
13.1.2 主要功能 390
13.2 项目框架设计 391
13.3 首页内容展示 392
13.4 实现消息列表和消息详情 396
13.4.1 消息列表展示 396
13.4.2 消息详情展示 398
13.5 实现购物车页面 402
13.6 实现“我的”页面 403
13.6.1 个人信息功能实现 403
13.6.2 订单信息 405
13.6.3 订单详情 406
13.6.4 设置页面 406
13.7 实现商品详情页面 407
第 14 章 实战案例:聊天应用 410
14.1 仿微信聊天应用概述 410
14.2 主页架构设计 411
14.3 实现“微信”页面 413
14.3.1 顶部ToolBar 413
14.3.2 聊天列表 414
14.3.3 聊天记录 414
14.4 实现“通讯录”页面 419
14.4.1 基础布局 419
14.4.2 索引模块实现 419
14.5 实现“发现”页面 420
14.6 实现“我”页面 421
14.6.1 个人基本信息 421
14.6.2 二维码页面 422
14.6.3 其他信息 424
|
| 內容試閱:
|
本书基于笔者10多年的软件开发经验和教学实践,用通俗易懂的语言、丰富实用的案例,从鸿蒙初学者容易上手的角度,循序渐进地讲解鸿蒙应用开发的基础知识和方法。从华为2019年发布的HarmonyOS,到2023年发布的HarmonyOS 4,均兼容Android应用。到了2024年,HarmonyOS NEXT亮相,引起了广泛关注。它不仅因其创新性而备受瞩目,更因其与Android的不兼容性而备受期待。这款全新的操作系统不仅承载着华为对未来智能设备生态的愿景,还挑战着开发者的传统思维模式。笔者在适配和开发过程中经历的挑战和学习不仅限于技术层面,更多的是如何利用这个系统找到创新的 机会。
希望各位读者在阅读本书的过程中,能够积极思考、勇于实践,不断探索HarmonyOS的奥秘,将自己的想法和创意转化为实实在在的应用成果。同时,学习HarmonyOS的成本很低,相关的技术资料非常齐全,并拥有着强大的官方资料和开源社区,可以随时获取帮助。
本书目的
本书基于HarmonyOS 5.0.5进行讲解,涵盖HarmonyOS NEXT的开发框架、开发规范、核心技术以及优化方法,通过丰富的代码示例和实战案例,帮助读者掌握HarmonyOS NEXT应用开发方法。
本书内容
本书的内容设计从易到难,适合不同阶段的读者学习,既为初学者提供了入门参考,也为有经验的开发者提供了可信任的技术实践。
第1、2章,主要介绍HarmonyOS的基础知识以及开发环境的搭建,帮助读者建立起对鸿蒙应用开发的知识框架,并快速入门鸿蒙应用开发领域。
第3、4章,主要介绍HarmonyOS开发语言ArkTS及其基础组件UIAbility,帮助读者掌握鸿蒙HarmonyOS开发语言。
第5~7章,主要介绍HarmonyOS的UI开发框架ArkUI的基础用法及高级用法。这几章是应用开发的重点,笔者由浅入深地系统性介绍应用开发的布局、界面设计、组件组合使用、动画特效、自定义组件等内容,帮助读者加深对鸿蒙原生应用开发的理解及实践。
第8章,主要介绍HarmonyOS开发中的公共事件,包括公共事件的订阅、取消订阅和发布。
第9章,主要介绍网络开发相关的内容。读者通过网络实时天气服务,可以独自有条有理地去完成简单的移动应用开发。
第10章,主要是应用内部安全管理,介绍相关的权限体系,包括权限声明、权限申请等内容。
第11章,重点介绍ArkData数据管理,包含文件数据存储及数据库使用,帮助读者快速对应用内数据进行管理和操作。
第12章,简要介绍设备管理器,包括传感器和振动相关的内容。
第13、14章,通过购物应用和聊天应用实战案例,全面介绍应用开发的整个流程,使读者在面对新项目时能有一个轻车熟路的解决方法。
本书学习方法
(1)本书精心设计的示例和实战案例,可以帮助读者深入掌握HarmonyOS NEXT应用开发的方法和技巧。建议读者在学习的时候一定要动手实践本书的示例和案例。
(2)读者在进行每章的学习之前,建议快速回顾前一章的关键知识点及相关示例代码,复习完前一章内容之后再进行每章的学习。
(3)本书讲解的应用开发基础知识,是读者在开发工作中必然会碰到和使用到的知识,建议读者全部掌握并加深理解。
(4)加强最后两章实战案例的学习和理解,碰到问题时多加思考,将理论知识运用到实践之中,并通过实践加深对应用开发的深入理解。
配套资料下载
本书配套示例代码、PPT课件、教学大纲、教学视频与读者微信群等技术交流服务,读者使用自己的微信扫描右则二维码即可获取。如果在阅读本书的过程中发现问题或有任何建议,请使用下载资源中提供的相关微信进行联系。
本书读者
无论是初入HarmonyOS开发领域的新手,还是已经有一定开发经验的开发者,或者是希望深入了解HarmonyOS内部原理的高级开发者,都将从本书中获得有价值的参考和指导。在开始阅读本书之前,如果你从未涉足移动端开发领域,那么建议先了解语言。因为本书是使用ArkTS语言进行开发的,如果对ArkTS有所了解,将会非常有助于学习本书的内容。如果你之前从事过大前端的开发工作,包括iOS、Android以及前端开发,那么在阅读过程中会感到内容很熟悉,因为很多设计模块的开发过程都是相同的。如果你之前已经了解HarmonyOS,那么本书提供的全新API应用的知识会让你对HarmonyOS的认识更进一步。此外,本书还提供了很多进阶内容,相信一些资深开发者看过之后会有新的启发。
致谢
感谢清华大学出版社的老师们对本书出版所作出的贡献。
由于笔者水平有限以及成书时间仓促,书中难免存在不足之处,敬请广大读者批评指正。
笔者于杭州
2025年6月
|
|