当前位置: 首页 > news >正文

新书速览|纯血鸿蒙HarmonyOS NEXT原生开发之旅

《纯血鸿蒙HarmonyOS NEXT原生开发之旅》

本书内容

《纯血鸿蒙HarmonyOS NEXT原生开发之旅》全面系统地介绍了基于HarmonyOS NEXT系统进行原生应用开发的实用技巧。全书共12章,内容涵盖从基础工具使用到高级功能实现的各个方面。第1章详细介绍了开发环境的搭建、ArkTS语言基础及UI描述。第2章深入探讨了Ability组件和信息传递机制。第3章和第4章分别讲解了UI开发的基础知识和进阶技巧,包括ArkUI框架和自定义组件。第5章探讨了一次开发多端部署的策略。第6章介绍了多媒体应用的开发方法。第7章讨论了进程间通信和任务管理。第8章涉及窗口管理和通知功能。第9章讲解了网络编程的基本方法。第10章关注于应用安全管理。第11章详细介绍了服务卡片的开发流程。第12章通过一个购物应用案例,将前面章节的知识综合运用,展示了一个完整的项目实战过程。

本书作者

杨春鹏,资深软件工程师,有超过十年的行业经验,曾就职于快手,容猫,四维等大厂,涉猎大前端、Python、鸿蒙等领域技术,持有鸿蒙高级开发者证书,多次参与企业和高校鸿蒙技术培训。业余时间热爱分享,阿里云、 CSDN技术社区专家博主,发表技术文章数百篇。

本书读者

《纯血鸿蒙HarmonyOS NEXT原生开发之旅》适合初学者和转型到鸿蒙系统开发的有经验的程序员阅读,也可以作为相关培训机构和高校相关专业的教学用书。

本书目录

向上滑动阅览

目    录

第 1 章  初识鸿蒙HarmonyOS NEXT1

1.1  DevEco Studio开发工具1

1.1.1  下载和安装DevEco Studio1

1.1.2  DevEco Studio的基本使用4

1.1.3  手机运行Hello World应用6

1.1.4  了解基本工程目录7

1.2  ArkTS语言之基本UI描述8

1.2.1  基本概念9

1.2.2  创建组件9

1.2.3  属性配置11

1.2.4  事件配置14

1.2.5  子组件配置15

1.3  ArkTS语言之状态管理16

1.3.1  @State16

1.3.2  @Prop22

1.3.3  @Link26

1.3.4  @Observed和@ObjectLink28

1.3.5  @Consume和@Provide30

1.3.6  @Watch32

1.4  ArkTS语言之状态管理进阶33

1.4.1  LocalStorage:页面级UI状态存储34

1.4.2  AppStorage:应用全局的UI状态存储36

1.4.3  PersistentStorage:持久化存储UI状态38

1.5  ArkTS语言之动态构建UI元素39

1.5.1  @Builder39

1.5.2  @BuilderParam41

1.5.3  @Styles42

1.5.4  @Extend44

1.6  实战:自定义导航45

1.7  本章小结47

第 2 章  Ability开发48

2.1  Stage模型的概述48

2.1.1  重要概念48

2.1.2  应用/组件级配置49

2.2  UIAbility组件53

2.2.1  UlAbility组件的概述54

2.2.2  UIAbility组件的生命周期54

2.2.3  UIAbility组件的启动模式57

2.2.4  UIAbility组件的基本用法63

2.2.5  UlAbility组件与UI的数据同步65

2.3  信息传递的载体want67

2.3.1  want的概述67

2.3.2  显式want与隐式want的匹配规则68

2.4  实战:显示want启动Ability71

2.5  实战:隐式want打开浏览器73

2.6  本章小结75

第 3 章  UI开发基础76

3.1  ArkUI概述76

3.2  ArkTS的声明式开发范式77

3.3  常用组件78

3.4  基础组件详解80

3.4.1  AlphabetIndexer82

3.4.2  Blank84

3.4.3  Button85

3.4.4  CalendarPicker89

3.4.5  Checkbox90

3.4.6  CheckboxGroup91

3.4.7  ContainerSpan92

3.4.8  DataPanel92

3.4.9  DatePicker93

3.4.10  Divider94

3.4.11  Gauge95

3.4.12  Image97

3.4.13  ImageAnimator99

3.4.14  ImageSpan101

3.4.15  LoadingProgress101

3.4.16  Marquee102

3.4.17  Menu103

3.4.18  MenuItem103

3.4.19  MenuItemGroup105

3.4.20  Radio106

3.4.21  Rating107

3.4.22  RichText108

3.4.23  Select109

3.4.24  Slider110

3.4.25  Text112

3.4.26  TextArea114

3.4.27  TextClock114

3.4.28  TextInput115

3.4.29  TextPicker116

3.4.30  TextTimer117

3.4.31  TimePicker118

3.4.32  Toggle119

3.5  实战:城市列表选择案例121

3.5.1  数据模块的定义122

3.5.2  主页布局123

3.5.3  实现城市列表组件125

3.5.4  实现搜索组件127

3.5.5  项目小结128

3.6  本章小结128

第 4 章  UI开发进阶129

4.1  容器组件详解129

4.1.1  Badge130

4.1.2  Column和Row132

4.1.3  ColumnSplit和RowSplit135

4.1.4  Counter136

4.1.5  Flex137

4.1.6  WaterFlow和FlowItem148

4.1.7  Stack153

4.1.8  GridRow和GridCol153

4.1.9  Grid和GridItem156

4.1.10  Hyperlink161

4.1.11  List、ListItem和

ListItemGroup162

4.1.12  Navigator166

4.1.13  Panel169

4.1.14  Refresh170

4.1.15  RelativeContainer173

4.1.16  Scroll175

4.1.17  SideBarContainer178

4.1.18  Swiper180

4.1.19  Tabs和TabContent184

4.2  绘制组件详解188

4.2.1  Circle188

4.2.2  Ellipse189

4.2.3  Line189

4.2.4  Polyline191

4.2.5  Polygon192

4.2.6  Path192

4.2.7  Rect194

4.2.8  Shape195

4.3  画布组件Canvas199

4.3.1  画布组件及对象199

4.3.2  Canvas组件示例202

4.4  弹窗详解207

4.4.1  警告弹窗(AlertDialog)208

4.4.2  列表选择弹窗(ActionSheet)209

4.4.3  自定义弹窗(CustomDialog)211

4.4.4  日历选择器弹窗(CalendarPickerDialog)214

4.4.5  日期滑动选择器弹窗(DatePickerDialog)215

4.4.6  时间滑动选择器弹窗(TimePickerDialog)217

4.4.7  文本滑动选择器弹窗(TextPickerDialog)219

4.5  自定义组件生命周期220

4.5.1  自定义组件生命周期概述220

4.5.2  自定义组件生命周期示例221

4.6  实战:待办列表案例223

4.6.1  TODO类定义223

4.6.2  常量数据224

4.6.3  列表项页面224

4.6.4  列表项增删功能页面228

4.7  本章小结232

第 5 章  一次开发多端部署233

5.1  “一多”开发工程目录管理233

5.1.1  创建工程233

5.1.2  新建Module233

5.1.3  修改Module配置235

5.1.4  调整目录结构,修改依赖关系240

5.1.5  引用ohpm包中的代码241

5.2  自适应布局244

5.2.1  拉伸能力245

5.2.2  均分能力247

5.2.3  占比能力249

5.2.4  缩放能力252

5.2.5  延伸能力254

5.2.6  隐藏能力258

5.2.7  折行能力261

5.3  响应式布局262

5.3.1  断点263

5.3.2  媒体查询265

5.3.3  栅格布局268

5.4  实战:页签栏布局270

5.4.1  案例准备271

5.4.2  案例实现271

5.5  本章小结274

第 6 章  多媒体应用开发275

6.1  音频开发275

6.1.1  音频开发概述275

6.1.2  音频播放示例278

6.1.3  音频录制示例282

6.2  视频开发284

6.3  实战:语音录制和声音动效的实现288

6.3.1  案例要求与工程结构288

6.3.2  案例实现288

6.4  本章小结292

第 7 章  进程通信293

7.1  ExtensionAbility组件293

7.1.1  ExtensionAbility组件概述293

7.1.2  FormExtensionAbility组件294

7.2  进程间通信295

7.2.1  进程模型295

7.2.2  公共事件简介296

7.2.3  订阅公共事件297

7.2.4  发布公共事件299

7.3  线程间通信300

7.3.1  线程模型300

7.3.2  使用Emitter进行线程间通信300

7.4  任务管理301

7.4.1  Background Tasks Kit简介301

7.4.2  短时任务的开发302

7.4.3  长时任务的开发303

7.4.4  延迟任务的开发305

7.5  Stage模型的应用配置文件307

7.6  实战:在Worker子线程中解压文件309

7.6.1  工程结构和模块类型309

7.6.2  实现思路310

7.6.3  效果演示311

7.7  本章小结311

第 8 章  窗口管理312

8.1  窗口开发概述312

8.2  管理应用窗口313

8.2.1  设置应用主窗口313

8.2.2  设置应用子窗口314

8.2.3  窗口的沉浸式能力316

8.2.4  设置悬浮窗口317

8.2.5  监听窗口不可交互与可交互事件319

8.3  通知320

8.3.1  通知概述320

8.3.2  通知消息样式326

8.3.3  撤回通知消息327

8.4  实战:窗口管理应用328

8.4.1  窗口管理应用功能说明328

8.4.2  窗口管理应用的实现328

8.5  本章小结330

第 9 章  网络编程331

9.1  HTTP数据请求331

9.1.1  request接口开发332

9.1.2  requestInStream接口开发336

9.1.3  引入第三方库ohos_axios337

9.2  Web组件的页面加载339

9.2.1  加载网络页面340

9.2.2  加载本地页面341

9.2.3  加载HTML格式的文本数据343

9.3  实战:通过HTTP请求数据344

9.3.1  准备一个HTTP服务接口344

9.3.2  使用List组件进行卡片布局344

9.3.3  通过生命周期发起HTTP请求345

9.3.4  通过生命周期使用第三方库发起HTTP请求345

9.3.5  Web组件加载详情页面346

9.4  本章小结346

第 10 章  安全管理347

10.1  访问控制概述347

10.1.1  应用沙箱347

10.1.2  应用权限等级和授权方法347

10.1.3  系统控件349

10.2  访问控制开发流程349

10.2.1  权限列表349

10.2.2  申请权限351

10.2.3  授予权限352

10.3  实战:获取位置授权356

10.3.1  场景描述356

10.3.2  声明访问的权限356

10.3.3  申请授权356

10.3.4  获取地理位置357

10.4  本章小结357

第 11 章  服务卡片开发358

11.1  服务卡片概述358

11.1.1  服务卡片架构358

11.1.2  服务卡片的开发模式360

11.1.3  服务卡片的制约360

11.2  ArkTS卡片运行机制361

11.3  ArkTS卡片相关模块362

11.4  ArkTS卡片的开发364

11.4.1  创建一个ArkTS卡片364

11.4.2  配置卡片参数368

11.4.3  卡片生命周期管理370

11.5  实战:电子相册案例372

11.5.1  项目概述372

11.5.2  项目页面代码解读372

11.5.3  添加卡片事件379

11.6  本章小结381

第 12 章  项目实战:多端部署之购物应用382

12.1  项目概述382

12.1.1  购物应用的功能382

12.1.2  应用效果演示383

12.2  代码结构383

12.3  页面结构385

12.3.1  启动页385

12.3.2  主页386

12.3.3  首页标签页387

12.3.4  新品标签页388

12.3.5  购物车标签页388

12.3.6  我的标签页389

12.3.7  商品详情页390

12.3.8  订单确认页391

12.3.9  订单支付页393

12.3.10  订单列表页395

12.4  本章小结396

附录A  ArkTS语言基础397

A.1  编程语言397

A.2  TypeScript语法398

A.3  语法进阶402

A.4  类406

本书特色

《纯血鸿蒙HarmonyOS Next原生开发之旅》是一部系统介绍HarmonyOS NEXT(5.x)应用开发的技术指南,以“技术解析+案例驱动”为核心,为开发者打造通往鸿蒙原生开发的直通车。

1. 技术全景覆盖,构建系统知识体系

全书以“工具链→语言基础→UI开发→多端适配→应用场景”为主线,串联起HarmonyOS NEXT的核心技术脉络。从DevEco Studio开发环境搭建、ArkTS语言特性,到Stage模型、Ability组件、ArkUI声明式开发,再到进程通信、窗口管理、多媒体与网络编程,层层递进,完整呈现鸿蒙原生开发的技术全景图。尤其对“一次开发,多端部署”的分布式架构进行深度拆解,通过自适应布局、响应式设计等实战技巧,帮助开发者突破多端适配的难点。

2. 实战案例赋能,从理论到落地的闭环

书中摒弃空洞的理论说教,以“问题场景+解决方案+代码实现”的沉浸式教学贯穿始终。12章内容包含大量开发场景,如动态UI构建、服务卡片开发、语音动效实现等,更通过电子相册、多端购物应用两大完整项目,模拟商业级开发流程。每个案例均提供可运行的代码片段与关键逻辑剖析,让读者在“抄代码→改代码→写代码”的演进中,真正吃透鸿蒙开发精髓。

3. 前沿技术前瞻,抢占鸿蒙生态先机

作为聚焦HarmonyOS NEXT 5.x的开发书籍,《纯血鸿蒙HarmonyOS Next原生开发之旅》不仅详解Stage模型、ArkTS状态管理等基础能力,更深入探索服务卡片、窗口管理等进阶特性,直击鸿蒙原生开发的核心差异点。无论是进程间通信的运行机制,还是安全沙箱下的权限管控,均结合最新API与最佳实践进行讲解,助力开发者在鸿蒙生态爆发期占据技术制高点。

4.资深专业作者,使用最新版本验证

《纯血鸿蒙HarmonyOS Next原生开发之旅》在软件开发领域从业超过十年,近年来致力于鸿蒙系统开发与技术推荐,并参与多家公司和学校的鸿蒙技术讲座,《纯血鸿蒙HarmonyOS Next原生开发之旅》所有代码均在目前最新的HarmonyOS NEXT版本上测试验证,确保本书的专业性和先进性。

5.谁需要这本书?

转型鸿蒙的开发者:熟悉Android/iOS但亟待掌握鸿蒙特有架构的工程师。

鸿蒙进阶者:已入门但受困于多端适配、性能优化等难题的从业者。

高校师生:寻找鸿蒙教学案例与实训项目的教育机构。

这不仅是一部技术手册,更是一把打开鸿蒙生态的金钥匙。 无论你是初次入门的初学者和学生,还是有一定经验的开发者,《纯血鸿蒙HarmonyOS Next原生开发之旅》都将为你提供从“理解鸿蒙”到“驾驭鸿蒙”的完整路径。在这个万物互联的时代,掌握HarmonyOS NEXT,就是握住了下一代智能终端的入场券。现在启程,与鸿蒙共赴全场景智慧生态的星辰大海!

本文摘自《纯血鸿蒙HarmonyOS Next原生开发之旅》,获出版社和作者授权发布。

纯血鸿蒙HarmonyOS NEXT原生开发之旅——ddhttps://product.dangdang.com/29883523.html

相关文章:

  • 2025年阿里云ACP人工智能高级工程师认证模拟试题(附答案解析)
  • 杭州电商全平台代运营领军者——品融电商
  • 【华为HCIP | 华为数通工程师】821—多选解析—第二十三页
  • Clickhouse 迁移到 Doris 的最佳实践
  • C++中的std::allocator
  • VMware虚拟机实例-docker启动失败
  • 洛谷B3648 [语言月赛202208] 你几岁了
  • SDK does not contain ‘libarclite‘ at the path
  • ✅ TensorRT Python 安装精简流程(适用于 Ubuntu 20.04+)
  • Qt5.14.2 链接 MySQL 8.4 遇到的问题
  • Kubernetes 高可用集群安装
  • Windows 添加 hosts 映射
  • ES6基础特性
  • 关于高并发GIS数据处理的一点经验分享
  • apt 软件源与 Docker 镜像源
  • 【Linux网络】 HTTP cookie与session
  • 【中药快速划价小程序】佳易王中药方快速划价软件:主打一个快字,中药划价软件操作指南,软件实操教程
  • 交易所开发-如何开发一个交易所
  • AbMole Olaparib:打破常规,用PARP抑制重塑肿瘤研究
  • 日语学习-日语知识点小记-构建基础-JLPT-N4阶段(19):て形/ないで
  • 回望乡土:对媒介化社会的反思
  • 时隔4年多,这一次普京和泽连斯基能见面吗?
  • 男子退机票被收票价90%的手续费,律师:虽然合规,但显失公平
  • 菲律宾举行中期选举
  • 为何发胖?如何减肥?一个医学体重管理中心的探索启示
  • 伊朗外长称正与美国进行“善意”的会谈