-
内容大纲
本书以HarmonyOS NEXT版本为核心,从基础知识到实战案例,引领读者逐步探索“纯血鸿蒙”原生开发的奥秘。全书内容涵盖HarmonyOS架构、DevEco Studio使用、应用结构解析、ArkTS编程语言、Ability组件、ArkUI开发等关键主题。书中不仅详细阐述了相关理论知识,还结合了多个实战项目,如计算器开发、WeLink打卡系统、图片轮播播放器、购物车功能实现、录音机与音乐播放器创建、购物应用设计与微信应用模拟、图片查看器构建等旨在通过实际操作提升读者的动手能力和解决实际问题的能力。
本书技术新颖,案例丰富,突出实战,特别适合HarmonyOS应用开发初学者、爱好者和进阶者作为自学用书,也适合作为培训机构和大中专院校的教学用书。 -
作者介绍
柳伟卫,网名老卫、waylau,在IT公司担任过项目经理、架构师、高级技术顾问等职位,拥有十余年开发经验,具有丰富的软件开发管理及系统架构经验。曾主导过多个省、国家级大型分布式系统的设计与研发,参与过面向全球的供应链系统服务化改造。在工作实践中,积累了大量的分布式系统、微服务架构以及性能调优经验。喜欢开源,长期活跃于各大开源社区,编著了《Netty 4.x用户指南》《Netty实战(精髓)》等30余本开源技术教程,广受网友好评,是CSDN、开源中国、阿里云开发者、华为开发者等技术社区专家。 -
目录
第1章 初识HarmonyOS NEXT
1.1 HarmonyOS产生的背景
1.1.1 万物互联时代的新挑战
1.1.2 什么是HarmonyOS
1.1.3 HarmonyOS应用开发
1.2 HarmonyOS核心技术理念
1.2.1 一次开发,多端部署
1.2.2 可分可合,自由流转
1.2.3 统一生态,原生智能
1.3 HarmonyOS NEXT新特性
1.3.1 Stage模型
1.3.2 Ability组件的生命周期
1.3.3 ArkUI开发框架
1.3.4 ArkTS编程语言
1.3.5 ArkWeb
1.3.6 “纯血鸿蒙”解读
1.4 DevEco Studio的安装
1.4.1 下载DevEco Studio
1.4.2 安装DevEco Studio
1.4.3 配置DevEco Studio
1.4.4 创建虚拟机
1.5 实战:创建第一个HarmonyOS NEXT应用
1.5.1 选择创建新项目
1.5.2 选择模板
1.5.3 配置项目信息
1.5.4 自动生成工程代码
1.5.5 预览项目
1.5.6 运行项目
1.6 应用工程结构介绍
1.6.1 App包结构
1.6.2 工程级目录
1.6.3 entry模块级目录
1.6.4 配置文件
1.7 本章小结
1.8 上机练习:开发第一个HarmonyOS NEXT应用——Hello World
第2章 ArkTS语言基础
2.1 基本知识
2.1.1 声明
2.1.2 类型
2.1.3 运算符
2.1.4 语句
2.2 函数
2.2.1 函数声明
2.2.2 可选参数
2.2.3 rest参数
2.2.4 返回类型
2.2.5 函数的作用域
2.2.6 函数调用
2.2.7 函数类型
2.2.8 箭头函数
2.2.9 闭包
2.2.10 函数重载
2.3 类
2.3.1 字段
2.3.2 方法
2.3.3 构造函数
2.3.4 可见性修饰符
2.3.5 对象字面量
2.3.6 Record类型的对象字面量
2.4 接口
2.4.1 接口属性
2.4.2 接口继承
2.5 泛型类型
2.5.1 泛型类和泛型接口
2.5.2 泛型约束
2.5.3 泛型函数
2.5.4 泛型默认值
2.6 空安全
2.6.1 非空断言运算符
2.6.2 空值合并运算符
2.6.3 可选链
2.7 模块
2.7.1 导出
2.7.2 导入
2.7.3 顶层语句
2.8 本章小结
2.9 上机练习:统计字符串的字符数
第3章 Ability开发
3.1 Ability概述
3.1.1 单Ability应用和多Ability应用
3.1.2 HarmonyOS应用模型
3.2 FA模型介绍
3.2.1 FA模型中的Ability
3.2.2 FA模型的生命周期
3.2.3 FA模型的进程/线程模型
3.3 Stage模型介绍
3.3.1 Stage模型的设计思想
3.3.2 Stage模型的基本概念
3.4 UIAbility介绍
3.4.1 UIAbility的生命周期
3.4.2 UIAbility的启动模式
3.4.3 UIAbility组件的基本用法
3.5 Want概述
3.5.1 Want的用途
3.5.2 Want的类型
3.5.3 Want的参数及属性
3.6 实战:显式Want启动Ability
3.6.1 新建Ability内页面
3.6.2 新建Ability
3.6.3 使用显式Want启动Ability
3.6.4 运行
3.7 本章小结
3.8 上机练习:启动系统设置
第4章 ArkUI基础开发
4.1 ArkUI概述
4.1.1 ArkUI基本概念
4.1.2 ArkUI主要特征
4.1.3 JS、TS、ArkTS、ArkUI、ArkCompiler之间的联系
4.2 声明式开发范式
4.2.1 声明式开发范式与类Web开发范式
4.2.2 声明式开发范式的基础能力
4.2.3 声明式开发范式的整体架构
4.2.4 声明式开发范式的基本组成
4.3 常用组件
4.4 基础组件详解
4.4.1 Blank
4.4.2 Button
4.4.3 Checkbox
4.4.4 CheckboxGroup
4.4.5 DataPanel
4.4.6 DatePicker
4.4.7 Divider
4.4.8 Gauge
4.4.9 Image
4.4.10 ImageAnimator
4.4.11 LoadingProgress
4.4.12 Marquee
4.4.13 Navigation
4.4.14 PatternLock
4.4.15 Progress
4.4.16 QRCode
4.4.17 Radio
4.4.18 Rating
4.4.19 RichText
4.4.20 ScrollBar
4.4.21 Search
4.4.22 Select
4.4.23 Slider
4.4.24 Span
4.4.25 Stepper与StepperItem
4.4.26 Text
4.4.27 TextArea
4.4.28 TextClock
4.4.29 TextInput
4.4.30 TextPicker
4.4.31 TextTimer
4.4.32 TimePicker
4.4.33 Toggle
4.4.34 Web
4.4.35 SymbolGlyph
4.5 本章小结
4.6 上机练习:实现高仿WeLink打卡应用
第5章 ArkUI高级开发
5.1 渲染控制
5.1.1 if/else条件渲染
5.1.2 ForEach循环渲染
5.2 容器组件详解
5.2.1 Column和Row
5.2.2 ColumnSplit和RowSplit
5.2.3 Flex
5.2.4 Grid和GridItem
5.2.5 GridRow和GridCol
5.2.6 List、ListItem和ListItemGroup
5.2.7 AlphabetIndexer
5.2.8 Badge
5.2.9 Counter
5.2.10 Navigator
5.2.11 Refresh
5.2.12 RelativeContainer
5.2.13 Scroll
5.2.14 SideBarContainer
5.2.15 Stack
5.2.16 Swiper
5.2.17 Tabs和TabContent
5.3 媒体组件详解
5.4 绘制组件详解
5.4.1 Circle和Ellipse
5.4.2 Line
5.4.3 Polyline
5.4.4 Polygon
5.4.5 Path
5.4.6 Rect
5.4.7 Shape
5.5 画布组件详解
5.6 常用布局
5.6.1 自适应布局
5.6.2 响应式布局
5.7 实战:使用ArkUI实现“登录”界面
5.7.1 使用Column容器实现整体布局
5.7.2 使用Image组件实现标志展示
5.7.3 使用TextInput组件实现账号和密码的输入
5.7.4 使用Button组件实现“登录”按钮
5.7.5 使用Text组件实现“注册”按钮
5.7.6 完整代码
5.8 实战:使用ArkUI实现“计算器”应用
5.8.1 新增Calculator.ets的文件
5.8.2 实现递归运算
5.8.3 实现输入字符串转为字符串数组
5.8.4 新增CalculatorButtonInfo.ets文件
5.8.5 实现CalculatorButton组件
5.8.6 构造整体页面
5.8.7 运行
5.9 本章小结
5.10 上机练习:实现图片轮播播放器应用
第6章 公共事件
6.1 公共事件概述
6.1.1 公共事件的分类
6.1.2 公共事件的开发
6.2 实战:订阅、发布、取消公共事件
6.2.1 添加按钮
6.2.2 添加Text组件显示接收的事件
6.2.3 设置按钮的单击事件方法
6.2.4 运行
6.3 Emitter概述
6.3.1 订阅
6.3.2 取消订阅
6.3.3 发送事件
6.4 实战:使用Emitter进行线程间通信
6.4.1 添加按钮
6.4.2 添加Text组件显示接收的事件
6.4.3 设置按钮的单击事件方法
6.4.4 运行
6.5 本章小结
6.6 上机练习:实现购物车应用
第7章 窗口管理
7.1 窗口开发概述
7.1.1 窗口的分类
7.1.2 窗口模块的用途
7.1.3 窗口沉浸式能力
7.1.4 应用窗口模式
7.2 窗口管理
7.2.1 设置应用主窗口属性及目标页面
7.2.2 设置应用子窗口属性及目标页面
7.2.3 体验窗口沉浸式能力
7.2.4 设置悬浮窗
7.2.5 监听窗口不可交互与可交互事件
7.3 实战:实现窗口沉浸式效果
7.3.1 获取应用主窗口
7.3.2 实现沉浸式效果
7.3.3 运行
7.4 智慧多窗
7.4.1 悬浮窗
7.4.2 分屏
7.5 本章小结
7.6 上机练习:创建子窗口
第8章 网络编程
8.1 HTTP数据请求概述
8.1.1 HTTP请求方法
8.1.2 HTTP状态码
8.2 实战:通过HTTP请求数据
8.2.1 准备一个HTTP服务接口
8.2.2 添加使用Button组件来触发单击
8.2.3 发起HTTP请求
8.2.4 增加权限
8.2.5 运行
8.3 Web组件概述
8.3.1 加载本地网页
8.3.2 加载在线网页
8.3.3 隐私模式加载在线网页
8.3.4 网页缩放
8.3.5 文本缩放
8.3.6 Web组件事件
8.3.7 Web和JavaScript交互
8.3.8 处理页面导航
8.4 实战:Web组件加载在线网页
8.4.1 准备一个在线网页地址
8.4.2 声明网络访问权限
8.4.3 发起HTTP请求
8.4.4 运行
8.5 本章小结
8.6 上机练习:实现一个Web组件展示HTML页面的应用
第9章 安全管理
9.1 访问控制概述
9.1.1 权限包含的基本概念
9.1.2 权限等级说明
9.1.3 权限类型
9.1.4 权限列表
9.2 访问控制开发步骤
9.2.1 权限申请流程
9.2.2 权限申请
9.2.3 权限授权
9.3 实战:访问控制授权
9.3.1 场景介绍
9.3.2 声明访问的权限
9.3.3 申请授权user_grant权限
9.3.4 运行
9.4 本章小结
9.5 上机练习:使用麦克风
第10章 数据管理
10.1 分布式数据服务概述
10.1.1 分布式数据服务的基本概念
10.1.2 分布式数据服务运作机制
10.1.3 分布式数据服务约束与限制
10.2 分布式数据服务开发步骤
10.2.1 导入模块
10.2.2 构造分布式数据库管理类实例
10.2.3 获取/创建分布式数据库
10.2.4 订阅分布式数据库数据变化
10.2.5 将数据写入分布式数据库
10.2.6 查询分布式数据库数据
10.3 关系数据库概述
10.3.1 关系数据库的基本概念
10.3.2 运作机制
10.3.3 默认配置与限制
10.4 实战:关系数据库开发
10.4.1 操作RdbStore
10.4.2 账目信息的表示
10.4.3 操作账目信息表
10.4.4 设计界面
10.4.5 运行
10.5 用户首选项概述
10.5.1 用户首选项运作机制
10.5.2 约束与限制
10.6 实战:用户首选项开发
10.6.1 操作Preferences
10.6.2 账目信息的表示
10.6.3 设计界面
10.6.4 运行
10.7 本章小结
10.8 上机练习:使用分布式数据服务
第11章 多媒体开发
11.1 音频开发
11.1.1 音频开发的基本概念
11.1.2 音频播放开发指导
11.1.3 如何选择音频播放开发方式
11.1.4 AudioRenderer开发步骤
11.1.5 如何选择音频录制开发方式
11.1.6 AudioCapturer开发步骤
11.2 图片开发
11.2.1 图片开发的基本概念
11.2.2 图片开发的主要流程
11.2.3 图片解码
11.2.4 图像变换
11.2.5 位图操作
11.2.6 图片编码
11.2.7 图片工具
11.3 视频开发
11.3.1 视频开发指导
11.3.2 视频开发步骤
11.4 实战:实现音乐播放器
11.4.1 获取本地音乐
11.4.2 音乐播放控制
11.4.3 创建播放器界面
11.4.4 运行
11.5 本章小结
11.6 上机练习:实现录音机应用
第12章 一次开发,多端部署
12.1 “一多”简介
12.1.1 背景
12.1.2 定义及目标
12.1.3 基础知识
12.2 布局能力
12.2.1 自适应布局
12.2.2 响应式布局
12.3 实战:图片查看器的一多UI原型设计
12.3.1 UX设计
12.3.2 计算设备的类型
12.3.3 实现顶部区域UI原型
12.3.4 实现中部图片显示区UI原型
12.3.5 实现图片预览列表UI原型
12.3.6 实现操作栏UI原型
12.4 本章小结
12.5 上机练习:实现图片查看器UI原型
第13章 应用测试
13.1 应用测试概述
13.2 单元测试
13.2.1 单元测试框架功能特性
13.2.2 基本流程
13.2.3 断言库
13.2.4 自定义断言
13.3 UI测试
13.3.1 UI测试框架的功能特性
13.3.2 Driver类使用说明
13.3.3 On类使用说明
13.3.4 Component类使用说明
13.3.5 UiWindow类使用说明
13.4 实战:UI测试
13.4.1 编写UI测试脚本
13.4.2 运行UI测试脚本
13.5 本章小结
13.6 上机练习:“统计字符串的字符数”的UI测试
第14章 综合实战(1):仿微信应用
14.1 仿微信应用概述
14.1.1 “微信”页面
14.1.2 “联系人”页面
14.1.3 “发现”页面
14.1.4 “我”页面
14.2 实战:“微信”页面
14.2.1 创建“微信”页面ChatPage
14.2.2 定义联系人Person
14.2.3 定义联系人数据
14.2.4 定义样式
14.3 实战:“联系人”页面
14.3.1 创建“联系人”页面ContactPage
14.3.2 定义样式
14.4 实战:“发现”页面
14.4.1 创建“发现”页面DiscoveryPage
14.4.2 定义样式
14.5 实战:“我”页面
14.6 实战:组装所有页面
14.6.1 Tabs组件作为导航栏
14.6.2 Swiper组件实现页面滑动
14.7 本章小结
14.8 上机练习:实现一个仿微信界面效果的应用
第15章 综合实战(2):一多图片查看器
15.1 UX设计
15.2 架构设计
15.2.1 模块的依赖关系
15.2.2 修改Module类型及其设备类型
15.3 pictureView模块实现
15.3.1 实现顶部区域
15.3.2 实现中部图片显示区
15.3.3 实现图片预览列表
15.3.4 实现底部区域操作栏
15.3.5 尺寸适配
15.3.6 常量和接口
15.4 base模块实现
15.4.1 基础常量类
15.4.2 设备类型常量
15.4.3 设备尺寸类型
15.5 default模块实现
15.5.1 图片查看器主页
15.5.2 计算设备的类型
15.6 本章小结
15.7 上机练习:图片查看器
第16章 综合实战(3):购物应用
16.1 购物应用概述
16.1.1 购物应用功能
16.1.2 购物应用效果展示
16.2 实战:实现商品列表页签
16.2.1 应用首页
16.2.2 创建模型
16.2.3 创建组件
16.3 实战:实现购物车页签
16.3.1 创建一个页面
16.3.2 创建组件
16.4 实战:实现“我的”页签
16.4.1 创建一个页面
16.4.2 创建组件
16.5 实战:商品详情页面
16.5.1 创建一个页面
16.5.2 创建组件
16.5.3 设置路由
16.6 本章小结
16.7 上机练习:实现一个购物应用
附录 模拟器与真机的差异
参考文献
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-

孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-

时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-

本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...
[
