鸿蒙HarmonyOS应用开发入门

鸿蒙HarmonyOS应用开发入门

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

全场景分布式系统,应用开发实战入门。

内容简介

HarmonyOS是一款面向未来、面向全场景的分布式操作系统,借助HarmonyOS全场景分布式系统和设备生态,定义全新的硬件、交互和服务体验。

本书采用HarmonyOS3版本作为基础,详细介绍如何基于HarmonyOS3来进行应用开发,包括HarmonyOS架构、DevEcoStudio、应用结构、Ability、UI开发、公共事件、窗口管理、网络编程、安全管理、数据管理等多个主题,还介绍如何从0开始开发计算器、视频播放器、购物应用、微信应用等。

本书辅以大量的实战案例,图文并茂,让读者易于理解掌握。同时,案例的选型偏重于解决实际问题,具有很强的前瞻性、应用性和趣味性。加入鸿蒙生态,让我们一起构建万物互联的新时代。

作者简介

作者柳伟卫,网名waylau、老卫,80后程序员,从业十余年,关注编程、系统架构、性能优化;CSDN、开源中国、云栖社区等技术社区专家,慕课网特邀讲师;在IT公司担任过项目经理、架构师、高级技术顾问等职位,具有丰富的软件开发管理及系统架构经验;主导过多个、省级大型分布式系统设计与研发,参与过面向全球的供应链系统服务化改造,积累了大量的分布式系统、微服务架构经验;已出版《分布式系统常用技术及案例分析》《Spring Boot 企业级应用开发实战》《Spring Cloud 微服务架构开发实战》《Spring 5开发大全》等著作。

章节目录

版权信息

作者简介

内容简介

前言

第1章 HarmonyOS介绍

1.1 HarmonyOS概述

1.1.1 什么是HarmonyOS

1.1.2 HarmonyOS应用开发

1.2 HarmonyOS的特征

1.2.1 硬件互助,资源共享

1.2.2 一次开发,多端部署

1.2.3 统一OS,弹性部署

1.3 HarmonyOS 3的新特性

1.3.1 Ability组件的生命周期

1.3.2 ArkUI开发框架

1.3.3 ArkTS编程语言

1.3.4 ExtensionAbility机制

1.4 DevEco Studio的安装

1.4.1 下载DevEco Studio

1.4.2 安装DevEco Studio

1.4.3 配置DevEco Studio

1.5 实战:创建第一个HarmonyOS应用

1.5.1 选择创建新项目

1.5.2 选择模板

1.5.3 配置项目信息

1.5.4 自动生成工程代码

1.5.5 预览项目

1.5.6 运行项目

1.6 应用工程结构介绍

1.6.1 工程级目录

1.6.2 entry模块级目录

1.6.3 配置文件

1.7 总结

1.8 习题

第2章 Ability的开发

2.1 Ability概述

2.1.1 单Ability应用和多Ability应用

2.1.2 HarmonyOS应用模型

2.2 FA模型介绍

2.2.1 FA模型中的Ability

2.2.2 FA模型的生命周期

2.2.3 FA模型的进程线程模型

2.3 Stage模型介绍

2.3.1 Stage模型的设计思想

2.3.2 Stage模型的Ability生命周期

2.3.3 Stage模型的Ability启动模式

2.4 实战:Ability内页面的跳转和数据传递

2.4.1 新建Ability内页面

2.4.2 页面跳转及传参

2.4.3 参数接收

2.4.4 运行

2.5 Want概述

2.5.1 Want的用途

2.5.2 Want的类型

2.5.3 Want参数属性

2.6 实战:显式Want启动Ability

2.6.1 新建Ability内页面

2.6.2 新建Ability

2.6.3 使用显式Want启动Ability

2.6.4 运行

2.7 实战:隐式Want打开应用管理

2.7.1 使用隐式Want启动Ability

2.7.2 运行

2.8 总结

2.9 习题

第3章 UI开发(上)

3.1 ArkUI概述

3.1.1 ArkUI的基本概念

3.1.2 ArkUI的主要特征

3.1.3 JS、TS、ArkTS、ArkUI和ArkCompiler之间的联系

3.2 声明式开发范式

3.2.1 声明式开发范式与类Web开发范式

3.2.2 声明式开发范式的基础能力

3.2.3 声明式开发范式的整体架构

3.2.4 声明式开发范式的基本组成

3.3 常用的组件

3.4 基础组件详解

3.4.1 Blank

3.4.2 Button

3.4.3 Checkbox

3.4.4 CheckboxGroup

3.4.5 DataPanel

3.4.6 DatePicker

3.4.7 Divider

3.4.8 Gauge

3.4.9 Image

3.4.10 ImageAnimator

3.4.11 LoadingProgress

3.4.12 Marquee

3.4.13 Navigation

3.4.14 PatternLock

3.4.15 Progress

3.4.16 QRCode

3.4.17 Radio

3.4.18 Rating

3.4.19 RichText

3.4.20 ScrollBar

3.4.21 Search

3.4.22 Select

3.4.23 Slider

3.4.24 Span

3.4.25 Stepper与StepperItem

3.4.26 Text

3.4.27 TextArea

3.4.28 TextClock

3.4.29 TextInput

3.4.30 TextPicker

3.4.31 TextTimer

3.4.32 TimePicker

3.4.33 Toggle

3.4.34 Web

3.5 总结

3.6 习题

第4章 UI开发(下)

4.1 容器组件详解

4.1.1 Column和Row

4.1.2 ColumnSplit和RowSplit

4.1.3 Flex

4.1.4 Grid和GridItem

4.1.5 GridRow和GridCol

4.1.6 List、ListItem和ListItemGroup

4.1.7 AlphabetIndexer

4.1.8 Badge

4.1.9 Counter

4.1.10 Navigator

4.1.11 Panel

4.1.12 Refresh

4.1.13 RelativeContainer

4.1.14 Scroll

4.1.15 SideBarContainer

4.1.16 Stack

4.1.17 Swiper

4.1.18 Tabs和TabContent

4.2 媒体组件详解

4.3 绘制组件详解

4.3.1 Circle和Ellipse

4.3.2 Line

4.3.3 Polyline

4.3.4 Polygon

4.3.5 Path

4.3.6 Rect

4.3.7 Shape

4.4 画布组件详解

4.5 常用布局

4.5.1 自适应布局

4.5.2 响应式布局

4.6 实战:使用ArkUI实现“登录”页面

4.6.1 使用Column容器实现整体布局

4.6.2 使用Image组件实现标志展示

4.6.3 使用TextInput组件实现账号和密码的输入

4.6.4 使用Button组件实现“登录”按钮

4.6.5 使用Text组件实现“注册”按钮

4.6.6 完整代码

4.7 实战:使用ArkUI实现“计算器”

4.7.1 新增Calculator.ets的文件

4.7.2 实现递归运算

4.7.3 实现将输入的字符串转为字符串数组

4.7.4 新增CalculatorButtonInfo.ets文件

4.7.5 实现CalculatorButton组件

4.7.6 构造整体页面

4.7.7 运行

4.8 总结

4.9 习题

第5章 公共事件

5.1 公共事件概述

5.1.1 公共事件的分类

5.1.2 公共事件的开发

5.2 实战:订阅、发布、取消公共事件

5.2.1 添加按钮

5.2.2 添加Text显示接收的事件

5.2.3 设置按钮的单击事件方法

5.2.4 运行

5.3 总结

5.4 习题

第6章 窗口管理

6.1 窗口开发概述

6.1.1 应用窗口的分类

6.1.2 窗口模块的用途

6.1.3 窗口沉浸式能力

6.2 窗口管理

6.2.1 设置应用主窗口的属性及目标页面

6.2.2 设置应用子窗口的属性及目标页面

6.2.3 体验窗口沉浸式能力

6.3 实战:实现窗口沉浸式效果

6.3.1 修改onWindowStageCreate方法

6.3.2 运行

6.4 总结

6.5 习题

第7章 网络编程

7.1 HTTP数据请求概述

7.1.1 HTTP请求方法

7.1.2 HTTP状态码

7.2 实战:通过HTTP请求数据

7.2.1 准备一个HTTP服务接口

7.2.2 添加使用Button组件来触发单击

7.2.3 发起HTTP请求

7.2.4 运行

7.3 Web组件概述

7.3.1 加载本地网页

7.3.2 加载在线网页

7.3.3 网页缩放

7.3.4 文本缩放

7.3.5 Web组件事件

7.3.6 Web和JavaScript交互

7.3.7 处理页面导航

7.4 实战:Web组件加载在线网页

7.4.1 准备一个在线网页地址

7.4.2 声明网络访问权限

7.4.3 发起HTTP请求

7.4.4 运行

7.5 总结

7.6 习题

第8章 安全管理

8.1 访问控制概述

8.1.1 权限包含的基本概念

8.1.2 权限等级说明

8.1.3 权限类型

8.1.4 权限列表

8.2 访问控制开发步骤

8.2.1 权限申请

8.2.2 权限授权

8.3 实战:访问控制授权

8.3.1 场景介绍

8.3.2 声明访问的权限

8.3.3 申请授权user_grant权限

8.3.4 运行

8.4 总结

8.5 习题

第9章 数据管理

9.1 分布式数据服务概述

9.1.1 分布式数据服务的基本概念

9.1.2 分布式数据服务的运作机制

9.1.3 分布式数据服务的约束与限制

9.2 分布式数据服务的开发步骤

9.2.1 导入模块

9.2.2 构造分布式数据库管理类实例

9.2.3 获取/创建分布式数据库

9.2.4 订阅分布式数据库的数据变化

9.2.5 将数据写入分布式数据库

9.2.6 查询分布式数据库数据

9.3 关系数据库概述

9.3.1 基本概念

9.3.2 运作机制

9.3.3 默认配置与限制

9.4 实战:关系数据库的开发

9.4.1 操作RdbStore

9.4.2 账目信息的表示

9.4.3 操作账目信息表

9.4.4 设计界面

9.4.5 运行

9.5 首选项概述

9.5.1 首选项的运作机制

9.5.2 约束与限制

9.6 实战:首选项开发

9.6.1 操作Preferences

9.6.2 账目信息的表示

9.6.3 设计界面

9.6.4 运行

9.7 总结

9.8 习题

第10章 多媒体开发

10.1 音频开发

10.1.1 音频开发的基本概念

10.1.2 音频播放开发指导

10.1.3 如何选择音频播放开发方式

10.1.4 AVPlayer API的开发步骤

10.2 图片开发

10.2.1 图片开发的基本概念

10.2.2 图片开发的主要流程

10.2.3 图片解码

10.2.4 图像变换

10.2.5 位图操作

10.2.6 图片编码

10.2.7 图片工具

10.3 视频开发

10.3.1 视频开发指导

10.3.2 视频开发步骤

10.4 实战:实现视频播放器

10.4.1 获取本地视频

10.4.2 视频播放控制

10.4.3 创建播放器界面

10.4.4 运行

10.5 总结

10.6 习题

第11章 综合实战:购物应用

11.1 购物应用概述

11.1.1 购物应用的功能

11.1.2 购物应用效果展示

11.2 实战:实现商品列表页签

11.2.1 创建一个页面

11.2.2 创建模型

11.2.3 创建组件

11.2.4 加载主界面

11.3 实战:实现购物车页签

11.3.1 创建一个页面

11.3.2 创建组件

11.4 实战:实现我的页签

11.4.1 创建一个页面

11.4.2 创建组件

11.5 实战:商品详情页面

11.5.1 创建一个页面

11.5.2 创建组件

11.6 总结

11.7 习题

第12章 综合实战:仿微信应用

12.1 仿微信应用概述

12.1.1 “微信”页面

12.1.2 “联系人”页面

12.1.3 “发现”页面

12.1.4 “我”页面

12.2 实战:“微信”页面

12.2.1 创建“微信”页面ChatPage

12.2.2 定义联系人Person

12.2.3 定义联系人数据

12.2.4 定义样式

12.3 实战:“联系人”页面

12.3.1 创建“联系人”页面ContactPage

12.3.2 定义样式

12.4 实战:“发现”页面

12.4.1 创建“发现”页面DiscoveryPage

12.4.2 定义样式

12.5 实战:“我”页面

12.6 实战:组装所有页面

12.6.1 Tabs组件作为导航栏

12.6.2 Swiper组件实现页面滑动

12.7 总结

12.8 习题

参考文献

鸿蒙HarmonyOS应用开发入门是2024年由清华大学出版社出版,作者柳伟卫 编著。

得书感谢您对《鸿蒙HarmonyOS应用开发入门》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
Hadoop应用开发基础 电子书
Hadoop是一个分布式系统的基础架构,支持对大量数据进行分布式处理,能以高效、可靠的方式完成数据处理。本书围绕Hadoop生态圈技术进行讲解,主要包括Hadoop环境配置、Hadoop分布式文件系统(HDFS)、Hadoop分布式计算框架MapReduce、Hadoop资源调度框架YARN与Hadoop新特性、Hadoop分布式数据库HBase、Oozie工作流调度系统等内容。本书以Linux操
Android 移动应用开发 电子书
本书由浅入深、系统全面地讲解了Android软件开发的基本方法和常用技能。全书分为11章,首先概述Android系统的特点和架构,并带领读者搭建Android开发环境,完成第一个Android程序;第3到10章完整地讲解了Android开发中的各种基本知识和关键技术,包括四大组件、界面布局、UI控件与事件响应、组件通信、广播机制、线程与UI通信、服务、数据存储、网络开发、传感器以及地图的使用等,通
Angular开发入门与实战 电子书
深入浅出学Angular,实战驱动,快速提升开发实力。
Android应用案例开发大全 电子书
技术新颖,贴近实战:本书涵盖了现实中几乎所有的流行技术,如3D、传感器、OpenGL ES 2.0、动态壁纸、LBS百度地图的二次开发、移动办公、实时流体仿真计算引擎、服务端和Android端的交互等。 实例丰富,讲解详细:本书既包括单机版客户端项目,也有服务端和Android端的结合开发;既包括典型的商业软件,也包括休闲娱乐项目,还有流行的3D热门案例以及借助OpenGL ES 2.0渲染的逼真场景。 案例经典,含金量高:以真实的项目开发为讲解背景,包括大型商务软件、3D游戏等,无论做项目还是进行毕业设计,都可以在本书找到相同的案例,非常适合各类读者学习。
云应用系统开发 电子书
《云应用系统开发》内容以行业主流的开源云平台OpenStack为依托,结合业务逻辑的分析,对OpenStack暴露出来的API进行封装,进而实现所需的功能。本教材内容采用项目化方式,实践性强,把理论知识融入到项目实践过程中,由浅入深,引导学生学习。项目的设计上采用行业主流技术和平台,强化框架编程思想,项目内容贴合行业应用,具有很强的适应性和实用性。