书籍详情

鸿蒙HarmonyOS应用开发入门

鸿蒙HarmonyOS应用开发入门

作者:柳伟卫

出版社:清华大学出版社

出版时间:2024-01-01

ISBN:9787302649113

定价:¥89.00

购买这本书可以去
内容简介
  HarmonyOS是一款面向未来、面向全场景的分布式操作系统,借助HarmonyOS全场景分布式系统和设备生态,定义全新的硬件、交互和服务体验。本书采用**的HarmonyOS 3版本作为基础,详细介绍如何基于HarmonyOS 3来进行应用开发,包括HarmonyOS架构、DevEco Studio、应用结构、Ability、UI开发、公共事件、窗口管理、网络编程、安全管理、数据管理等多个主题,还介绍如何从0开始开发计算器、视频播放器、购物应用、微信应用等。本书辅以大量的实战案例,图文并茂,让读者易于理解掌握。同时,案例的选型偏重于解决实际问题,具有很强的前瞻性、应用性和趣味性。加入鸿蒙生态,让我们一起构建万物互联的新时代! 《鸿蒙HarmonyOS应用开发入门》适合HarmonyOS应用开发初学者和进阶读者作为自学用书,也适合培训机构作为培训教材,还适合大、中专院校的相关专业作为教学参考书。
作者简介
  柳伟卫,网名老卫、waylau,在IT公司担任项目经理、架构师、高级技术顾问等职位,拥有十几年开发经验,是CSDN、 开源中国、阿里云开发者、华为开发者等技术社区专家,慕课网、华为开发者联盟社区认证讲师,HarmonyOS技术达人,曾获2021、2022年度牛人之星、2022年度OpenHarmony开源贡献之星。著有《跟老卫学HarmonyOS开发》《Netty 实战(精髓)》等开源书,并出版了《鸿蒙HarmonyOS手机应用开发实战》《鸿蒙HarmonyOS应用开发从入门到精通》《分布式系统常用技术及案例分析》《Java核心编程》《轻量级Java EE企业应用开发实战》《Node.js Express MongoDB Vue.js全栈开发实战》《Netty原理解析与开发实战》等专著。
目录
 
第1章 HarmonyOS介绍1
1.1  HarmonyOS概述1
1.1.1  什么是HarmonyOS1
1.1.2  HarmonyOS应用开发2
1.2  HarmonyOS的特征2
1.2.1  硬件互助,资源共享2
1.2.2  一次开发,多端部署6
1.2.3  统一OS,弹性部署7
1.3  HarmonyOS 3的新特性7
1.3.1  Ability组件的生命周期8
1.3.2  ArkUI开发框架9
1.3.3  ArkTS编程语言9
1.3.4  ExtensionAbility机制9
1.4  DevEco Studio的安装9
1.4.1  下载DevEco Studio9
1.4.2  安装DevEco Studio10
1.4.3  配置DevEco Studio11
1.5  实战:创建第一个HarmonyOS应用14
1.5.1  选择创建新项目14
1.5.2  选择模板15
1.5.3  配置项目信息16
1.5.4  自动生成工程代码17
1.5.5  预览项目17
1.5.6  运行项目17
1.6  应用工程结构介绍19
1.6.1  工程级目录19
1.6.2  entry模块级目录20
1.6.3  配置文件21
1.7  总结23
1.8  习题24
第2章 Ability的开发25
2.1  Ability概述25
2.1.1  单Ability应用和多Ability应用25
2.1.2  HarmonyOS应用模型25
2.2  FA模型介绍26
2.2.1  FA模型中的Ability26
2.2.2  FA模型的生命周期27
2.2.3  FA模型的进程线程模型27
2.3  Stage模型介绍27
2.3.1  Stage模型的设计思想28
2.3.2  Stage模型的Ability生命周期28
2.3.3  Stage模型的Ability启动模式28
2.4  实战:Ability内页面的跳转和数据传递30
2.4.1  新建Ability内页面30
2.4.2  页面跳转及传参32
2.4.3  参数接收34
2.4.4  运行35
2.5  Want概述36
2.5.1  Want的用途36
2.5.2  Want的类型36
2.5.3  Want参数属性37
2.6  实战:显式Want启动Ability38
2.6.1  新建Ability内页面39
2.6.2  新建Ability39
2.6.3  使用显式Want启动Ability40
2.6.4  运行41
2.7  实战:隐式Want打开应用管理41
2.7.1  使用隐式Want启动Ability42
2.7.2  运行42
2.8  总结43
2.9  习题43
第3章 UI开发(上)45
3.1  ArkUI概述45
3.1.1  ArkUI的基本概念45
3.1.2  ArkUI的主要特征46
3.1.3  JS、TS、ArkTS、ArkUI和ArkCompiler之间的联系47
3.2  声明式开发范式48
3.2.1  声明式开发范式与类Web开发范式48
3.2.2  声明式开发范式的基础能力48
3.2.3  声明式开发范式的整体架构49
3.2.4  声明式开发范式的基本组成50
3.3  常用的组件50
3.4  基础组件详解51
3.4.1  Blank51
3.4.2  Button52
3.4.3  Checkbox54
3.4.4  CheckboxGroup54
3.4.5  DataPanel55
3.4.6  DatePicker56
3.4.7  Divider57
3.4.8  Gauge58
3.4.9  Image59
3.4.10  ImageAnimator61
3.4.11  LoadingProgress63
3.4.12  Marquee63
3.4.13  Navigation63
3.4.14  PatternLock64
3.4.15  Progress65
3.4.16  QRCode66
3.4.17  Radio66
3.4.18  Rating66
3.4.19  RichText67
3.4.20  ScrollBar67
3.4.21  Search69
3.4.22  Select69
3.4.23  Slider70
3.4.24  Span71
3.4.25  Stepper与StepperItem72
3.4.26  Text73
3.4.27  TextArea74
3.4.28  TextClock75
3.4.29  TextInput75
3.4.30  TextPicker76
3.4.31  TextTimer76
3.4.32  TimePicker77
3.4.33  Toggle77
3.4.34  Web78
3.5  总结79
3.6  习题79
第4章 UI开发(下)80
4.1  容器组件详解80
4.1.1  Column和Row80
4.1.2  ColumnSplit和RowSplit82
4.1.3  Flex82
4.1.4  Grid和GridItem83
4.1.5  GridRow和GridCol84
4.1.6  List、ListItem和ListItemGroup85
4.1.7  AlphabetIndexer86
4.1.8  Badge87
4.1.9  Counter88
4.1.10  Navigator89
4.1.11  Panel92
4.1.12  Refresh92
4.1.13  RelativeContainer92
4.1.14  Scroll93
4.1.15  SideBarContainer94
4.1.16  Stack95
4.1.17  Swiper95
4.1.18  Tabs和TabContent96
4.2  媒体组件详解97
4.3  绘制组件详解98
4.3.1  Circle和Ellipse98
4.3.2  Line99
4.3.3  Polyline100
4.3.4  Polygon101
4.3.5  Path102
4.3.6  Rect104
4.3.7  Shape106
4.4  画布组件详解108
4.5  常用布局109
4.5.1  自适应布局109
4.5.2  响应式布局111
4.6  实战:使用ArkUI实现“登录”页面111
4.6.1  使用Column容器实现整体布局112
4.6.2  使用Image组件实现标志展示112
4.6.3  使用TextInput组件实现账号和密码的输入112
4.6.4  使用Button组件实现“登录”按钮113
4.6.5  使用Text组件实现“注册”按钮113
4.6.6  完整代码113
4.7  实战:使用ArkUI实现“计算器”114
4.7.1  新增Calculator.ets的文件114
4.7.2  实现递归运算114
4.7.3  实现将输入的字符串转为字符串数组116
4.7.4  新增CalculatorButtonInfo.ets文件117
4.7.5  实现CalculatorButton组件117
4.7.6  构造整体页面118
4.7.7  运行120
4.8  总结120
4.9  习题120
第5章 公共事件122
5.1  公共事件概述122
5.1.1  公共事件的分类122
5.1.2  公共事件的开发123
5.2  实战:订阅、发布、取消公共事件124
5.2.1  添加按钮124
5.2.2  添加Text显示接收的事件125
5.2.3  设置按钮的单击事件方法125
5.2.4  运行126
5.3  总结127
5.4  习题127
第6章 窗口管理128
6.1  窗口开发概述128
6.1.1  应用窗口的分类128
6.1.2  窗口模块的用途128
6.1.3  窗口沉浸式能力129
6.2  窗口管理129
6.2.1  设置应用主窗口的属性及目标页面129
6.2.2  设置应用子窗口的属性及目标页面130
6.2.3  体验窗口沉浸式能力130
6.3  实战:实现窗口沉浸式效果130
6.3.1  修改onWindowStageCreate方法130
6.3.2  运行131
6.4  总结132
6.5  习题132
第7章 网络编程133
7.1  HTTP数据请求概述133
7.1.1  HTTP请求方法133
7.1.2  HTTP状态码134
7.2  实战:通过HTTP请求数据134
7.2.1  准备一个HTTP服务接口134
7.2.2  添加使用Button组件来触发单击134
7.2.3  发起HTTP请求135
7.2.4  运行136
7.3  Web组件概述136
7.3.1  加载本地网页136
7.3.2  加载在线网页137
7.3.3  网页缩放137
7.3.4  文本缩放138
7.3.5  Web组件事件138
7.3.6  Web和JavaScript交互138
7.3.7  处理页面导航140
7.4  实战:Web组件加载在线网页141
7.4.1  准备一个在线网页地址141
7.4.2  声明网络访问权限141
7.4.3  发起HTTP请求142
7.4.4  运行142
7.5  总结142
7.6  习题143
第8章 安全管理145
8.1  访问控制概述145
8.1.1  权限包含的基本概念145
8.1.2  权限等级说明146
8.1.3  权限类型146
8.1.4  权限列表147
8.2  访问控制开发步骤154
8.2.1  权限申请154
8.2.2  权限授权155
8.3  实战:访问控制授权155
8.3.1  场景介绍155
8.3.2  声明访问的权限155
8.3.3  申请授权user_grant权限156
8.3.4  运行157
8.4  总结157
8.5  习题158
第9章 数据管理159
9.1  分布式数据服务概述159
9.1.1  分布式数据服务的基本概念159
9.1.2  分布式数据服务的运作机制161
9.1.3  分布式数据服务的约束与限制162
9.2  分布式数据服务的开发步骤163
9.2.1  导入模块163
9.2.2  构造分布式数据库管理类实例163
9.2.3  获取/创建分布式数据库163
9.2.4  订阅分布式数据库的数据变化164
9.2.5  将数据写入分布式数据库164
9.2.6  查询分布式数据库数据165
9.3  关系数据库概述165
9.3.1  基本概念165
9.3.2  运作机制166
9.3.3  默认配置与限制166
9.4  实战:关系数据库的开发166
9.4.1  操作RdbStore166
9.4.2  账目信息的表示168
9.4.3  操作账目信息表169
9.4.4  设计界面171
9.4.5  运行173
9.5  首选项概述174
9.5.1  首选项的运作机制174
9.5.2  约束与限制175
9.6  实战:首选项开发175
9.6.1  操作Preferences175
9.6.2  账目信息的表示177
9.6.3  设计界面177
9.6.4  运行179
9.7  总结180
9.8  习题180
第10章 多媒体开发182
10.1  音频开发182
10.1.1  音频开发的基本概念182
10.1.2  音频播放开发指导182
10.1.3  如何选择音频播放开发方式184
10.1.4  AVPlayer API的开发步骤184
10.2  图片开发187
10.2.1  图片开发的基本概念187
10.2.2  图片开发的主要流程187
10.2.3  图片解码188
10.2.4  图像变换190
10.2.5  位图操作192
10.2.6  图片编码193
10.2.7  图片工具194
10.3  视频开发195
10.3.1  视频开发指导195
10.3.2  视频开发步骤196
10.4  实战:实现视频播放器199
10.4.1  获取本地视频199
10.4.2  视频播放控制203
10.4.3  创建播放器界面206
10.4.4  运行212
10.5  总结213
10.6  习题213
第11章 综合实战:购物应用214
11.1  购物应用概述214
11.1.1  购物应用的功能214
11.1.2  购物应用效果展示214
11.2  实战:实现商品列表页签215
11.2.1  创建一个页面216
11.2.2  创建模型216
11.2.3  创建组件222
11.2.4  加载主界面229
11.3  实战:实现购物车页签229
11.3.1  创建一个页面229
11.3.2  创建组件230
11.4  实战:实现我的页签232
11.4.1  创建一个页面232
11.4.2  创建组件233
11.5  实战:商品详情页面235
11.5.1  创建一个页面235
11.5.2  创建组件236
11.6  总结241
11.7  习题241
第12章 综合实战:仿微信应用242
12.1  仿微信应用概述242
12.1.1  “微信”页面242
12.1.2  “联系人”页面243
12.1.3  “发现”页面243
12.1.4 “我”页面244
12.2  实战:“微信”页面244
12.2.1  创建“微信”页面ChatPage244
12.2.2  定义联系人Person245
12.2.3  定义联系人数据246
12.2.4  定义样式246
12.3  实战:“联系人”页面248
12.3.1  创建“联系人”页面ContactPage248
12.3.2  定义样式249
12.4  实战:“发现”页面250
12.4.1  创建“发现”页面DiscoveryPage250
12.4.2  定义样式251
12.5  实战:“我”页面252
12.6  实战:组装所有页面253
12.6.1  Tabs组件作为导航栏253
12.6.2  Swiper组件实现页面滑动255
12.7  总结255
12.8  习题255
猜您喜欢

读书导航