内容简介
《纯血鸿蒙HarmonyOS NEXT原生开发之旅》全面系统地介绍了基于HarmonyOS NEXT系统进行原生应用开发的实用技巧。全书共12章,内容涵盖从基础工具使用到高级功能实现的各个方面。第1章详细介绍了开发环境的搭建、ArkTS语言基础及UI描述。第2章深入探讨了Ability组件和信息传递机制。第3章和第4章分别讲解了UI开发的基础知识和进阶技巧,包括ArkUI框架和自定义组件。第5章探讨了一次开发多端部署的策略。第6章介绍了多媒体应用的开发方法。第7章讨论了进程间通信和任务管理。第8章涉及窗口管理和通知功能。第9章讲解了网络编程的基本方法。第10章关注于应用安全管理。第11章详细介绍了服务卡片的开发流程。第12章通过一个购物应用案例,将前面章节的知识综合运用,展示了一个完整的项目实战过程。
《纯血鸿蒙HarmonyOS NEXT原生开发之旅》适合初学者和转型到鸿蒙系统开发的有经验的程序员阅读,也可以作为相关培训机构和高校相关专业的教学用书。
作者简介
杨春鹏,资深软件工程师,有超过十年的行业经验,曾就职于快手,容猫,四维等大厂,涉猎大前端、Python、鸿蒙等领域技术,持有鸿蒙高级开发者证书,多次参与企业和高校鸿蒙技术培训。业余时间热爱分享,阿里云、 CSDN技术社区专家博主,发表技术文章数百篇。
目录
目录第1章初识鸿蒙HarmonyOSNEXT 1
1.1DevEcoStudio开发工具 1
1.1.1下载和安装DevEcoStudio 1
1.1.2DevEcoStudio的基本使用 4
1.1.3手机运行HelloWorld应用 6
1.1.4了解基本工程目录 7
1.2ArkTS语言之基本UI描述 8
1.2.1基本概念 9
1.2.2创建组件 9
1.2.3属性配置 11
1.2.4事件配置 14
1.2.5子组件配置 15
1.3ArkTS语言之状态管理 16
1.3.1@State 16
1.3.2@Prop 22
1.3.3@Link 26
1.3.4@Observed和@ObjectLink 28
1.3.5@Consume和@Provide 30
1.3.6@Watch 32
1.4ArkTS语言之状态管理进阶 33
1.4.1LocalStorage:页面级UI状态存储 34
1.4.2AppStorage:应用全局的UI状态存储 36
1.4.3PersistentStorage:持久化存储UI状态 38
1.5ArkTS语言之动态构建UI元素 39
1.5.1@Builder 39
1.5.2@BuilderParam 41
1.5.3@Styles 42
1.5.4@Extend 44
1.6实战:自定义导航 45
1.7本章小结 47
第2章Ability开发 48
2.1Stage模型的概述 48
2.1.1重要概念 48
2.1.2应用/组件级配置 49
2.2UIAbility组件 53
2.2.1UlAbility组件的概述 54
2.2.2UIAbility组件的生命周期 54
2.2.3UIAbility组件的启动模式 57
2.2.4UIAbility组件的基本用法 63
2.2.5UlAbility组件与UI的数据同步 65
2.3信息传递的载体want 67
2.3.1want的概述 67
2.3.2显式want与隐式want的匹配规则 68
2.4实战:显示want启动Ability 71
2.5实战:隐式want打开浏览器 73
2.6本章小结 75
第3章UI开发基础 76
3.1ArkUI概述 76
3.2ArkTS的声明式开发范式 77
3.3常用组件 78
3.4基础组件详解 80
3.4.1AlphabetIndexer 82
3.4.2Blank 84
3.4.3Button 85
3.4.4CalendarPicker 89
3.4.5Checkbox 90
3.4.6CheckboxGroup 91
3.4.7ContainerSpan 92
3.4.8DataPanel 92
3.4.9DatePicker 93
3.4.10Divider 94
3.4.11Gauge 95
3.4.12Image 97
3.4.13ImageAnimator 99
3.4.14ImageSpan 101
3.4.15LoadingProgress 101
3.4.16Marquee 102
3.4.17Menu 103
3.4.18MenuItem 103
3.4.19MenuItemGroup 105
3.4.20Radio 106
3.4.21Rating 107
3.4.22RichText 108
3.4.23Select 109
3.4.24Slider 110
3.4.25Text 112
3.4.26TextArea 114
3.4.27TextClock 114
3.4.28TextInput 115
3.4.29TextPicker 116
3.4.30TextTimer 117
3.4.31TimePicker 118
3.4.32Toggle 119
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.1Badge 130
4.1.2Column和Row 132
4.1.3ColumnSplit和RowSplit 135
4.1.4Counter 136
4.1.5Flex 137
4.1.6WaterFlow和FlowItem 148
4.1.7Stack 153
4.1.8GridRow和GridCol 153
4.1.9Grid和GridItem 156
4.1.10Hyperlink 161
4.1.11List、ListItem和
ListItemGroup 162
4.1.12Navigator 166
4.1.13Panel 169
4.1.14Refresh 170
4.1.15RelativeContainer 173
4.1.16Scroll 175
4.1.17SideBarContainer 178
4.1.18Swiper 180
4.1.19Tabs和TabContent 184
4.2绘制组件详解 188
4.2.1Circle 188
4.2.2Ellipse 189
4.2.3Line 189
4.2.4Polyline 191
4.2.5Polygon 192
4.2.6Path 192
4.2.7Rect 194
4.2.8Shape 195
4.3画布组件Canvas 199
4.3.1画布组件及对象 199
4.3.2Canvas组件示例 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.1TODO类定义 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新建Module 233
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.1ExtensionAbility组件 293
7.1.1ExtensionAbility组件概述 293
7.1.2FormExtensionAbility组件 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.1BackgroundTasksKit简介 301
7.4.2短时任务的开发 302
7.4.3长时任务的开发 303
7.4.4延迟任务的开发 305
7.5Stage模型的应用配置文件 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.1HTTP数据请求 331
9.1.1request接口开发 332
9.1.2requestInStream接口开发 336
9.1.3引入第三方库ohos_axios 337
9.2Web组件的页面加载 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.5Web组件加载详情页面 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.2ArkTS卡片运行机制 361
11.3ArkTS卡片相关模块 362
11.4ArkTS卡片的开发 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
附录AArkTS语言基础 397
A.1编程语言 397
A.2TypeScript语法 398
A.3语法进阶 402
A.4类 406
······
最后修改:2025 年 09 月 30 日
© 允许规范转载