本书从ArkTS语言的基础语法入手,逐步进阶至HarmonyOS应用开发实战,并通过综合性项目案例,系统介绍如何利用ArkUI框架开发HarmonyOS应用程序。通过本书,读者不仅能系统掌握HarmonyOS应用开发的知识体系,还能获得更深层次的理解。
全书共14章,主要内容包括初识HarmonyOS、ArkTS语言基础、ArkUI中的常用组件、ArkUI高级开发、导航与弹窗、绘制组件与动画、网络编程、应用权限与数据持久化、卡片开发指导等。
本书内容通俗易懂,案例丰富,实用性强,不仅适合HarmonyOS应用开发者,也适合Android开发者和Java程序员等其他技术背景的读者阅读。此外,本书也可作为高等院校或培训机构的教学用书。
刘源
----------------------------
现任某大型互联网公司移动端架构师与技术专家,拥有超过十年的移动端开发经验,并为首批获得鸿蒙高级认证的开发者。其对ArkUI框架与分布式开发能力有深入研究,曾成功主导日活跃用户(DAU)百万级的鸿蒙原生应用全流程落地。所主导的产品累计服务终端用户已突破一亿。同时,作为开源中国、掘金、CSDN等主流技术社区的认证专家,他长期活跃于技术内容创作与分享,是积极的鸿蒙技术布道者。
目录
第1章 创建第一个HarmonyOS应用
1.1 了解HarmonyOS
1.1.1 HarmonyOS诞生的背景
1.1.2 HarmonyOS的技术特点
1.1.3 HarmonyOS的发展历程
1.1.4 HarmonyOS发展前景
1.2 华为开发者认证
1.3 DevEco Studio的安装
1.3.1 下载DevEco Studio
1.3.2 在Windows系统上安装DevEco Studio
1.3.3 在macOS系统上安装DevEco Studio
1.3.4 开发环境诊断
1.4 创建你的第一个HarmonyOS应用
1.4.1 创建HarmonyOS应用
1.4.2 在模拟器上运行HarmonyOS应用
1.4.3 在真机上运行HarmonyOS应用
1.5 本章小结
第2章 ArkTS语言
2.1 ArkTS 语言中的数据操作
2.1.1 变量
2.1.2 常量
2.1.3 数据类型
2.1.4 运算符
2.2 ArkTS语言中的流程控制语句
2.2.1 条件语句
2.2.2 循环语句
2.2.3 中断语句
2.3 ArkTS语言中的函数
2.3.1 函数声明
2.3.2 函数传参
2.3.3 箭头函数
2.3.4 闭包
2.4 ArkTS语言中的面向对象
2.4.1 类和对象
2.4.2 封装
2.4.3 继承
2.4.4 多态
2.4.5 抽象类和接口
2.5 ArkTS语言中的容器
2.5.1 元组
2.5.2 Set
2.5.3 Map
2.5.4 ArkTS语言中的容器类库
2.6 ArkTS语言中的泛型
2.6.1 泛型类
2.6.2 泛型函数
2.6.3 泛型接口
2.7 ArkTS语言中的空安全
2.7.1 ArkTS语言中的空安全规则
2.7.2 非空断言运算符
2.7.3 空值合并运算符
2.7.4 可选链运算符
2.8 ArkTS语言中的错误处理
2.9 本章小结
第3章 ArkUI初识
3.1 两种开发范式
3.1.1 声明式开发范式
3.1.2 类Web开发范式
3.2 装饰器
3.2.1 @Component装饰器
3.2.2 @Entry装饰器
3.2.3 @Reusable装饰器
3.2.4 @Builder装饰器
3.2.5 @Styles装饰器
3.2.6 @Extend装饰器
3.3 状态管理
3.3.1 状态管理概述
3.3.2 状态管理装饰器
3.3.3 其他状态管理
3.4 应用程序包
3.4.1 应用程序包结构
3.4.2 HAP
3.4.3 HAR
3.4.4 HSP
3.5 UIAbility
3.5.1 配置UIAbility
3.5.2 UIAbility的生命周期
3.5.3 UIAbility的启动模式
3.6 本章小结
第4章 ArkUI中的常用容器组件
4.1 线性布局
4.1.1 Column
4.1.2 Row
4.2 层叠布局
4.2.1 Stack的定义
4.2.2 Stack的常用属性
4.3 弹性布局(Flex)
4.3.1 Flex的常用属性
4.4 相对布局
4.5 Tabs选项卡
4.5.1 创建Tabs组件
4.5.2 Tabs组件的常见属性
4.5.3 Tabs组件的常见事件
4.5.4 Tab组件的示例代码
4.6 栅格布局(GridRow/GridCol)
4.6.1 创建GridRow组件
4.6.2 创建GridCol组件
4.6.3 GridRow使用示例代码
4.7 本章小结
第5章 ArkUI中的常用基础组件
5.1 文本组件
5.1.1 文本显示组件(Text组件)
5.1.2 使用子组件显示文本内容
5.1.3 文本输入组件(TextInput组件/TextArea组件)
5.1.4 搜索框组件
5.2 按钮组件
5.2.1 创建Button组件
5.2.2 Button组件的属性
5.2.3 Button组件的示例代码
5.2.4 自定义组件
5.3 单选框和多选框组件
5.3.1 单选框组件(Radio)
5.3.2 多选框组件(Checkbox)
5.4 切换按钮组件(Toggle)
5.4.1 创建Toggle组件
5.4.2 Toggle组件的常用属性
5.5 进度条组件(Progress)
5.5.1 创建Progress组件
5.5.2 Progress组件的常用属性
5.6 图片组件(Image)
5.6.1 创建Image组件
5.6.2 Image组件的常用属性
5.6.3 Image组件的常用事件
5.7 阶段性实战:华为登录
5.7.1 项目效果图展示
5.7.2 创建组件
5.8 本章小结
第6章 ArkUI高级开发
6.1 ArkUI中的可滚动组件
6.1.1 List组件
6.1.2 Scroll组件
6.1.3 WaterFlow组件
6.1.4 轮播组件(Swiper)
6.2 阶段性实战:嵌套滑动
6.2.1 嵌套滑动示例效果展示
6.2.2 数据准备
6.2.3 创建组件
6.2.4 项目总结
6.3 Video组件
6.4 阶段性实战:短视频App案例
6.4.1 项目效果图展示
6.4.2 数据准备
6.4.3 添加组件
6.5 本章小结
第7章 导航和弹窗
7.1 导航
7.1.1 Navigation组件详解
7.1.2 使用Navigation实现页面跳转
7.1.3 页面路由详解
7.2 弹窗
7.2.1 气泡
7.2.2 菜单
7.2.3 AlertDialog弹出框
7.2.4 ActionSheet列表选择弹窗
7.2.5 CalendarPickerDialog日历选择器弹窗
7.2.6 DatePickerDialog日期滑动选择器弹窗
7.2.7 TimePickerDialog时间滑动选择器弹窗
7.2.8 TextPickerDialog文本滑动选择器弹窗
7.3 本章小结
第8章 绘制组件和动画
8.1 绘制组件
8.1.1 Circle组件
8.1.2 Ellipse组件
8.1.3 Line组件
8.1.4 Polyline组件
8.1.5 Polygon组件
8.1.6 Path组件
8.1.7 Rect组件
8.1.8 Shape组件
8.2 动画
8.2.1 ArkUI中的动画分类
8.2.2 属性动画
8.2.3 转场动画
8.2.4 组件动画
8.3 本章小结
第9章 网络编程
9.1 使用HTTP请求数据
9.1.1 HTTP详解
9.1.2 使用HTTP请求数据
9.2 ArkWeb组件
9.2.1 Web页面加载
9.2.2 Web组件的生命周期管理
9.2.3 Web组件的常用属性和事件
9.2.4 ArkWeb使用示例
9.3 本章小结
第10章 应用权限控制和数据持久化
10.1 应用权限控制
10.1.1 权限机制中的基本概念
10.1.2 申请应用权限
10.1.3 申请受限开放权限
10.1.4 向用户请求单次授权
10.1.5 应用权限组列表
10.1.6 使用系统Picker
10.2 数据持久化
10.2.1 用户首选项
10.2.2 键值型数据库
10.2.3 关系型数据库
10.3 本章小结
第11章 卡片开发指导Form Kit
11.1 开发卡片页面
11.1.1 创建卡片
11.1.2 卡片的配置文件
11.1.3 卡片的生命周期管理
11.1.4 开发卡片页面
11.2 开发卡片事件
11.2.1 静态卡片事件开发
11.2.2 动态卡片事件开发
11.3 卡片数据刷新
11.3.1 卡片定时刷新
11.3.2 卡片定点刷新
11.4 本章小结
第12章 实战:新闻客户端App
12.1 项目概述
12.2 项目构建
12.2.1 创建项目
12.2.2 设置App名称和图标
12.2.3 设置App入口页面
12.3 创建组件
12.3.1 创建项目根布局组件
12.3.2 创建Home组件
12.3.3 创建HomeContent组件
12.3.4 添加第三方依赖
12.3.5 添加位置服务
12.3.6 创建HomeHeader组件
12.3.7 创建ListTabBar组件
12.3.8 创建PullToRefreshNews组件
12.4 本章小结
第13章 实战:商城App
13.1 项目概述
13.2 项目架构设计
13.2.1 应用架构概述
13.2.2 商城App的应用架构设计
13.2.3 创建HAR包
13.3 项目模块
13.3.1 entry模块
13.3.2 base模块
13.3.3 首页模块
13.3.4 分类模块
13.3.5 商品详情模块
13.3.6 购物袋模块
13.3.7 我的模块
13.4 本章小结
第14章 用DeepSeek提升开发效率
14.1 DeepSeek概述
14.2 本地部署DeepSeek
14.2.1 下载并安装Ollama客户端
14.2.2 安装DeepSeek-R1模型
14.2.3 安装Chatbox
14.3 DevEco Studio接入DeepSeek模型
14.3.1 下载并安装DevEco Studio
14.3.2 安装Proxy AI插件
14.3.3 注册DeepSeek账号并获取API key
14.3.4 在DevEco Studio中配置Proxy AI
14.3.5 选择模型
14.3.6 体验DeepSeek
14.3.7 体验DeepSeek辅助编程
14.4 DevEco Studio联合小艺接入DeepSeek模型
14.4.1 下载并安装DevEco Studio
14.4.2 下载并安装CodeGenie工具
14.4.3 使用CodeGenie工具实现智能编程
14.5 本章小结