鸿蒙之光HARMONYOS NEXT原生应用开发入门
全新正版 极速发货
¥
56.19
6.3折
¥
89
全新
库存32件
作者柳伟卫 著
出版社清华大学出版社
ISBN9787302678212
出版时间2025-01
装帧平装
开本其他
定价89元
货号1203487359
上书时间2025-01-04
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
"柳伟卫 ( 网名老卫、waylau )
在IT公司担任过项目经理、架构师、高级技术顾问等,拥有十余年开发经验,具有丰富的软件开发管理及系统架构经验。主导过多个省、国家级大型分布式系统的设计与研发,参与过面向全球的供应链系统服务化改造,在实际工作中积累了大量的分布式系统、微服务架构以及性能调优经验。业余时间创建了waylau.com网站,用于分享个人技术心得。长期活跃于各大开源社区,编写了包括《跟老卫学HarmonyOS开发》《Netty 实战(精髓)》等30余本开源技术教程,是CSDN、开源中国、阿里云开发者、华为开发者等技术社区专家,慕课网、华为开发者联盟社区认证讲师。已出版《循序渐进Spark大数据应用开发》《分布式系统
常用技术及案例分析》《循序渐进Node.js企业级开发实践》等几十本技术图书。"
目录
目 录
第 1 章 初识HarmonyOS NEXT1
1.1 HarmonyOS产生的背景1
1.1.1 万物互联时代的新挑战1
1.1.2 什么是HarmonyOS2
1.1.3 HarmonyOS应用开发3
1.2 HarmonyOS核心技术理念3
1.2.1 一次开发,多端部署4
1.2.2 可分可合,自由流转6
1.2.3 统一生态,原生智能7
1.3 HarmonyOS NEXT新特性7
1.3.1 Stage模型8
1.3.2 Ability组件的生命周期8
1.3.3 ArkUI开发框架9
1.3.4 ArkTS编程语言10
1.3.5 ArkWeb10
1.3.6 “纯血鸿蒙”解读10
1.4 DevEco Studio的安装11
1.4.1 下载DevEco Studio11
1.4.2 安装DevEco Studio11
1.4.3 配置DevEco Studio12
1.4.4 创建虚拟机13
1.5 实战:创建第一个HarmonyOS NEXT应用18
1.5.1 选择创建新项目18
1.5.2 选择模板18
1.5.3 配置项目信息19
1.5.4 自动生成工程代码20
1.5.5 预览项目20
1.5.6 运行项目21
1.6 应用工程结构介绍22
1.6.1 App包结构22
1.6.2 工程级目录23
1.6.3 entry模块级目录23
1.6.4 配置文件23
1.7 本章小结26
1.8 上机练习:开发第一个HarmonyOS NEXT应用——Hello World26
第 2 章 ArkTS语言基础27
2.1 基本知识27
2.1.1 声明27
2.1.2 类型28
2.1.3 运算符30
2.1.4 语句32
2.2 函数36
2.2.1 函数声明36
2.2.2 可选参数36
2.2.3 rest参数36
2.2.4 返回类型37
2.2.5 函数的作用域37
2.2.6 函数调用37
2.2.7 函数类型37
2.2.8 箭头函数37
2.2.9 闭包38
2.2.10 函数重载38
2.3 类38
2.3.1 字段39
2.3.2 方法41
2.3.3 构造函数44
2.3.4 可见性修饰符44
2.3.5 对象字面量45
2.3.6 Record类型的对象字面量46
2.4 接口46
2.4.1 接口属性47
2.4.2 接口继承47
2.5 泛型类型48
2.5.1 泛型类和泛型接口48
2.5.2 泛型约束48
2.5.3 泛型函数48
2.5.4 泛型默认值49
2.6 空安全49
2.6.1 非空断言运算符50
2.6.2 空值合并运算符50
2.6.3 可选链50
2.7 模块51
2.7.1 导出51
2.7.2 导入51
2.7.3 顶层语句53
2.8 本章小结53
2.9 上机练习:统计字符串的字符数53
第 3 章 Ability开发54
3.1 Ability概述54
3.1.1 单Ability应用和多Ability应用54
3.1.2 HarmonyOS应用模型55
3.2 FA模型介绍55
3.2.1 FA模型中的Ability55
3.2.2 FA模型的生命周期56
3.2.3 FA模型的进程/线程模型56
3.3 Stage模型介绍57
3.3.1 Stage模型的设计思想57
3.3.2 Stage模型的基本概念58
3.4 UIAbility介绍59
3.4.1 UIAbility的生命周期59
3.4.2 UIAbility的启动模式59
3.4.3 UIAbility组件的基本用法60
3.5 Want概述62
3.5.1 Want的用途62
3.5.2 Want的类型63
3.5.3 Want的参数及属性64
3.6 实战:显式Want启动Ability65
3.6.1 新建Ability内页面65
3.6.2 新建Ability66
3.6.3 使用显式Want启动Ability66
3.6.4 运行67
3.7 本章小结68
3.8 上机练习:启动系统设置68
第 4 章 ArkUI基础开发69
4.1 ArkUI概述69
4.1.1 ArkUI基本概念69
4.1.2 ArkUI主要特征70
4.1.3 JS、TS、ArkTS、ArkUI、ArkCompiler之间的联系70
4.2 声明式开发范式72
4.2.1 声明式开发范式与类Web开发范式72
4.2.2 声明式开发范式的基础能力72
4.2.3 声明式开发范式的整体架构72
4.2.4 声明式开发范式的基本组成73
4.3 常用组件74
4.4 基础组件详解74
4.4.1 Blank75
4.4.2 Button75
4.4.3 Checkbox76
4.4.4 CheckboxGroup77
4.4.5 DataPanel78
4.4.6 DatePicker78
4.4.7 Divider79
4.4.8 Gauge80
4.4.9 Image81
4.4.10 ImageAnimator83
4.4.11 LoadingProgress85
4.4.12 Marquee85
4.4.13 Navigation86
4.4.14 PatternLock86
4.4.15 Progress87
4.4.16 QRCode88
4.4.17 Radio88
4.4.18 Rating89
4.4.19 RichText89
4.4.20 ScrollBar90
4.4.21 Search91
4.4.22 Select91
4.4.23 Slider92
4.4.24 Span92
4.4.25 Stepper与StepperItem94
4.4.26 Text95
4.4.27 TextArea96
4.4.28 TextClock97
4.4.29 TextInput97
4.4.30 TextPicker98
4.4.31 TextTimer98
4.4.32 TimePicker99
4.4.33 Toggle99
4.4.34 Web100
4.4.35 SymbolGlyph101
4.5 本章小结103
4.6 上机练习:实现高仿WeLink打卡应用103
第 5 章 ArkUI高级开发104
5.1 渲染控制104
5.1.1 if/else条件渲染104
5.1.2 ForEach循环渲染105
5.2 容器组件详解107
5.2.1 Column和Row107
5.2.2 ColumnSplit和RowSplit108
5.2.3 Flex109
5.2.4 Grid和GridItem110
5.2.5 GridRow和GridCol111
5.2.6 List、ListItem和ListItemGroup112
5.2.7 AlphabetIndexer113
5.2.8 Badge115
5.2.9 Counter116
5.2.10 Navigator117
5.2.11 Refresh119
5.2.12 RelativeContainer120
5.2.13 Scroll121
5.2.14 SideBarContainer122
5.2.15 Stack123
5.2.16 Swiper123
5.2.17 Tabs和TabContent124
5.3 媒体组件详解125
5.4 绘制组件详解128
5.4.1 Circle和Ellipse128
5.4.2 Line129
5.4.3 Polyline130
5.4.4 Polygon131
5.4.5 Path132
5.4.6 Rect134
5.4.7 Shape135
5.5 画布组件详解137
5.6 常用布局138
5.6.1 自适应布局139
5.6.2 响应式布局140
5.7 实战:使用ArkUI实现“登录”界面140
5.7.1 使用Column容器实现整体布局141
5.7.2 使用Image组件实现标志展示141
5.7.3 使用TextInput组件实现账号和密码的输入141
5.7.4 使用Button组件实现“登录”按钮142
5.7.5 使用Text组件实现“注册”按钮142
5.7.6 完整代码142
5.8 实战:使用ArkUI实现“计算器”应用143
5.8.1 新增Calculator.ets的文件143
5.8.2 实现递归运算144
5.8.3 实现输入字符串转为字符串数组145
5.8.4 新增CalculatorButtonInfo.ets文件146
5.8.5 实现CalculatorButton组件146
5.8.6 构造整体页面147
5.8.7 运行148
5.9 本章小结148
5.10 上机练习:实现图片轮播播放器应用149
第 6 章 公共事件150
6.1 公共事件概述150
6.1.1 公共事件的分类150
6.1.2 公共事件的开发151
6.2 实战:订阅、发布、取消公共事件152
6.2.1 添加按钮152
6.2.2 添加Text组件显示接收的事件153
6.2.3 设置按钮的单击事件方法153
6.2.4 运行154
6.3 Emitter概述155
6.3.1 订阅155
6.3.2 取消订阅155
6.3.3 发送事件156
6.4 实战:使用Emitter进行线程间通信156
6.4.1 添加按钮156
6.4.2 添加Text组件显示接收的事件156
6.4.3 设置按钮的单击事件方法157
6.4.4 运行157
6.5 本章小结158
6.6 上机练习:实现购物车应用158
第 7 章 窗口管理160
7.1 窗口开发概述160
7.1.1 窗口的分类160
7.1.2 窗口模块的用途160
7.1.3 窗口沉浸式能力161
7.1.4 应用窗口模式161
7.2 窗口管理162
7.2.1 设置应用主窗口属性及目标页面162
7.2.2 设置应用子窗口属性及目标页面162
7.2.3 体验窗口沉浸式能力162
7.2.4 设置悬浮窗163
7.2.5 监听窗口不可交互与可交互事件163
7.3 实战:实现窗口沉浸式效果163
7.3.1 获取应用主窗口163
7.3.2 实现沉浸式效果164
7.3.3 运行165
7.4 智慧多窗165
7.4.1 悬浮窗165
7.4.2 分屏168
7.5 本章小结168
7.6 上机练习:创建子窗口169
第 8 章 网络编程170
8.1 HTTP数据请求概述170
8.1.1 HTTP请求方法170
8.1.2 HTTP状态码171
8.2 实战:通过HTTP请求数据171
8.2.1 准备一个HTTP服务接口171
8.2.2 添加使用Button组件来触发单击171
8.2.3 发起HTTP请求172
8.2.4 增加权限172
8.2.5 运行173
8.3 Web组件概述173
8.3.1 加载本地网页173
8.3.2 加载在线网页174
8.3.3 隐私模式加载在线网页174
8.3.4 网页缩放174
8.3.5 文本缩放175
8.3.6 Web组件事件175
8.3.7 Web和JavaScript交互175
8.3.8 处理页面导航179
8.4 实战:Web组件加载在线网页179
8.4.1 准备一个在线网页地址179
8.4.2 声明网络访问权限180
8.4.3 发起HTTP请求180
8.4.4 运行180
8.5 本章小结180
8.6 上机练习:实现一个Web组件展示HTML页面的应用181
第 9 章 安全管理182
9.1 访问控制概述182
9.1.1 权限包含的基本概念182
9.1.2 权限等级说明183
9.1.3 权限类型184
9.1.4 权限列表184
9.2 访问控制开发步骤191
9.2.1 权限申请流程191
9.2.2 权限申请191
9.2.3 权限授权192
9.3 实战:访问控制授权192
9.3.1 场景介绍192
9.3.2 声明访问的权限193
9.3.3 申请授权user_grant权限193
9.3.4 运行195
9.4 本章小结195
9.5 上机练习:使用麦克风195
第 10 章 数据管理196
10.1 分布式数据服务概述196
10.1.1 分布式数据服务的基本概念196
10.1.2 分布式数据服务运作机制198
10.1.3 分布式数据服务约束与限制199
10.2 分布式数据服务开发步骤199
10.2.1 导入模块199
10.2.2 构造分布式数据库管理类实例200
10.2.3 获取/创建分布式数据库200
10.2.4 订阅分布式数据库数据变化201
10.2.5 将数据写入分布式数据库201
10.2.6 查询分布式数据库数据202
10.3 关系数据库概述202
10.3.1 关系数据库的基本概念202
10.3.2 运作机制203
10.3.3 默认配置与限制203
10.4 实战:关系数据库开发203
10.4.1 操作RdbStore203
10.4.2 账目信息的表示206
10.4.3 操作账目信息表206
10.4.4 设计界面208
10.4.5 运行209
10.5 用户首选项概述210
10.5.1 用户首选项运作机制210
10.5.2 约束与限制211
10.6 实战:用户首选项开发211
10.6.1 操作Preferences211
10.6.2 账目信息的表示213
10.6.3 设计界面213
10.6.4 运行215
10.7 本章小结216
10.8 上机练习:使用分布式数据服务216
第 11 章 多媒体开发217
11.1 音频开发217
11.1.1 音频开发的基本概念217
11.1.2 音频播放开发指导217
11.1.3 如何选择音频播放开发方式219
11.1.4 AudioRenderer开发步骤219
11.1.5 如何选择音频录制开发方式221
11.1.6 AudioCapturer开发步骤221
11.2 图片开发223
11.2.1 图片开发的基本概念223
11.2.2 图片开发的主要流程223
11.2.3 图片解码224
11.2.4 图像变换226
11.2.5 位图操作229
11.2.6 图片编码231
11.2.7 图片工具231
11.3 视频开发232
11.3.1 视频开发指导232
11.3.2 视频开发步骤233
11.4 实战:实现音乐播放器238
11.4.1 获取本地音乐238
11.4.2 音乐播放控制239
11.4.3 创建播放器界面240
11.4.4 运行241
11.5 本章小结242
11.6 上机练习:实现录音机应用242
第 12 章 一次开发,多端部署243
12.1 “一多”简介243
12.1.1 背景243
12.1.2 定义及目标243
12.1.3 基础知识244
12.2 布局能力245
12.2.1 自适应布局246
12.2.2 响应式布局247
12.3 实战:图片查看器的一多UI原型设计247
12.3.1 UX设计247
12.3.2 计算设备的类型249
12.3.3 实现顶部区域UI原型250
12.3.4 实现中部图片显示区UI原型251
12.3.5 实现图片预览列表UI原型252
12.3.6 实现操作栏UI原型252
12.4 本章小结253
12.5 上机练习:实现图片查看器UI原型253
第 13 章 应用测试254
13.1 应用测试概述254
13.2 单元测试254
13.2.1 单元测试框架功能特性254
13.2.2 基本流程255
13.2.3 断言库256
13.2.4 自定义断言259
13.3 UI测试260
13.3.1 UI测试框架的功能特性260
13.3.2 Driver类使用说明261
13.3.3 On类使用说明262
13.3.4 Component类使用说明263
13.3.5 UiWindow类使用说明263
13.4 实战:UI测试264
13.4.1 编写UI测试脚本264
13.4.2 运行UI测试脚本265
13.5 本章小结267
13.6 上机练习:“统计字符串的字符数”的UI测试267
第 14 章 综合实战(1):仿微信应用268
14.1 仿微信应用概述268
14.1.1 “微信”页面268
14.1.2 “联系人”页面268
14.1.3 “发现”页面269
14.1.4 “我”页面270
14.2 实战:“微信”页面270
14.2.1 创建“微信”页面ChatPage270
14.2.2 定义联系人Person271
14.2.3 定义联系人数据271
14.2.4 定义样式272
14.3 实战:“联系人”页面273
14.3.1 创建“联系人”页面ContactPage273
14.3.2 定义样式274
14.4 实战:“发现”页面275
14.4.1 创建“发现”页面DiscoveryPage275
14.4.2 定义样式276
14.5 实战:“我”页面277
14.6 实战:组装所有页面278
14.6.1 Tabs组件作为导航栏278
14.6.2 Swiper组件实现页面滑动279
14.7 本章小结280
14.8 上机练习:实现一个仿微信界面效果的应用280
第 15 章 综合实战(2):一多图片查看器281
15.1 UX设计281
15.2 架构设计282
15.2.1 模块的依赖关系283
15.2.2 修改Module类型及其设备类型284
15.3 pictureView模块实现285
15.3.1 实现顶部区域285
15.3.2 实现中部图片显示区286
15.3.3 实现图片预览列表287
15.3.4 实现底部区域操作栏288
15.3.5 尺寸适配290
15.3.6 常量和接口290
15.4 base模块实现292
15.4.1 基础常量类292
15.4.2 设备类型常量293
15.4.3 设备尺寸类型293
15.5 default模块实现294
15.5.1 图片查看器主页294
15.5.2 计算设备的类型294
15.6 本章小结295
15.7 上机练习:图片查看器295
第 16 章 综合实战(3):购物应用296
16.1 购物应用概述296
16.1.1 购物应用功能296
16.1.2 购物应用效果展示296
16.2 实战:实现商品列表页签297
16.2.1 应用首页298
16.2.2 创建模型298
16.2.3 创建组件304
16.3 实战:实现购物车页签307
16.3.1 创建一个页面307
16.3.2 创建组件307
16.4 实战:实现“我的”页签309
16.4.1 创建一个页面310
16.4.2 创建组件310
16.5 实战:商品详情页面313
16.5.1 创建一个页面313
16.5.2 创建组件314
16.5.3 设置路由318
16.6 本章小结319
16.7 上机练习:实现一个购物应用319
附录 模拟器与真机的差异320
参考文献324
内容摘要
"《鸿蒙之光HarmonyOS NEXT原生应用开发入门》以HarmonyOS NEXT版本为核心,从基础知识到实战案例,引领读者逐步探索“纯血鸿蒙”原生开发的奥秘。全书共16章,内容涵盖HarmonyOS架构、DevEco Studio使用、应用结构解析、ArkTS编程语言、Ability组件、ArkUI开发、公共事件处理、窗口管理、网络编程、安全管理、数据管理、多媒体开发、多端部署及应用测试等关键主题。书中不仅详细阐述了相关理论知识,还结合了多个实战项目
— 没有更多了 —
以下为对购买帮助不大的评价