第1章 仓颉概览 1
1.1 仓颉的定位 1
1.2 仓颉主要特性 1
第2章 第1个仓颉程序 4
2.1 安装及查看仓颉版本 4
2.2 Hello World 5
2.2.1 编写第1个程序 5
2.2.2 代码编译和执行 5
第3章 仓颉语法基础 6
3.1 常量和变量 6
3.2 类型自动推断 8
3.3 两种数值类型 8
3.4 布尔类型 8
3.5 流向控制 9
3.6 字符串类型 11
3.7 区间类型 12
3.8 循环控制 12
3.9 字符串插值 13
3.10 函数 13
3.11 运算符 16
3.12 使用库函数 16
3.13 使用集合类型 17
3.14 本章小结 20
第4章 高级类型 21
4.1?记录类型 21
4.2?枚举类型 24
4.3?类 25
4.3.1?类的封装 25
4.3.2?类的继承和多态 29
4.4?类型转换 33
4.5?本章小结 37
第5章 面向接口编程 38
5.1 接口 38
5.2 扩展既有类型 40
5.3 面向接口编程 41
5.4 定义基础接口 43
5.5 实现接口的类型 44
5.6 给接口扩展默认的实现 53
5.7 枚举类型的接口实现 55
5.8 覆盖默认行为 55
5.9 接口的通用化 56
5.10 本章小结 58
第6章 函数高级特性 59
6.1 函数类型 59
6.2 使用函数类型的3种方式 60
6.3 闭包表达式 62
6.4 尾随闭包 63
6.5 函数重载 65
6.6 构造函数 66
6.7 系统中的高级函数 66
6.7.1 map 67
6.7.2 compactMap 68
6.7.3 filter 68
6.7.4 reduce 68
6.8 本章小结 69
第7章 程序异常处理 70
7.1 异常的分类 70
7.2 抛出一个异常 71
7.3 Result类型 73
7.4 解包Result类型 74
7.5 Option类型 76
7.6 本章小结 77
第8章 泛型编程 78
8.1 常见的泛型化案例 78
8.2 泛型接口 79
8.3 泛型类型 81
8.4 泛型函数 83
8.5 泛型约束 83
8.6 本章小结 84
第9章 异步编程 85
9.1 新线程 85
9.2 异步等待 92
9.3 线程休眠 103
第10章 仓颉UI框架 104
10.1 文件组织 104
10.2 声明式语法 105
10.3 状态管理 105
10.4 生命周期 107
10.5 装饰器变量 107
10.6 样式 108
10.7 常用组件 109
10.7.1 容器组件 109
10.7.2 独立组件 112
10.8 系统接口现状 115
第11章 仓颉UI实战案例:咖啡杯 116
11.1 杯型定义 117
11.2 定义资源 118
11.2.1 图片资源 118
11.2.2 文字资源 118
11.2.3 颜色资源 119
11.3 新建组件的源码文件 120
11.4 数据源和状态变量定义 120
11.5 单个杯型的布局 121
11.6 样式定义 121
11.7 条件样式 122
11.8 用户互动 122
11.9 循环渲染 123
11.10 容器包装 124
11.10.1 序号显示 124
11.10.2 均分空间 125
11.10.3 描边和圆角 126
11.11 组合 127
11.12 组件重用 128
第12章 仓颉UI案例:飞我电瓶车 130
12.1 资源导入 131
12.2 启动页结构 131
12.3 最终启动页 137
12.4 加载指示器组件 140
12.4.1 组件结构 140
12.4.2 旋转动画 141
12.5 目的地页 141
12.5.1 历史数据 141
12.5.2 状态变量 142
12.5.3 下单函数 142
12.5.4 弹性面板组件 143
12.5.5 List组件 143
12.5.6 组合 144
12.6 下单成功提示页 149
12.6.1 状态变量 149
12.6.2 纯组件 150
12.6.3 预览用组件 152
12.6.4 组合 153
12.7 骑手当前位置页 156
12.7.1 状态变量 156
12.7.2 纯组件 157
12.7.3 预览用组件 158
第13章 仓颉UI案例:鸿蒙之家 160
13.1 资源导入 160
13.2 启动页 161
13.2.1 横幅数据 161
13.2.2 组件结构 162
13.2.3 开始按钮 163
13.3 首页 164
13.3.1 全屋智能家电数据 164
13.3.2 导航区域 165
13.3.3 数据网格 166
13.3.4 选项条 169
13.3.5 组合 170
13.4 开关组件 170
13.4.1 组件结构 170
13.4.2 状态变量 171
13.4.3 颜色定义 171
13.4.4 单击动画 171
13.4.5 纯组件 172
13.4.6 预览用组件 172
13.4.7 组合 173
13.5 房屋智能读数结构 173
13.6 用电量组件 174
13.6.1 状态变量 174
13.6.2 组件结构 175
13.6.3 组合测试 177
13.7 详情页 181
13.7.1 状态变量 181
13.7.2 导航栏 182
13.7.3 温湿度卡片 182
13.7.4 用电量柱状图 184
13.7.5 设备列表卡片 184
13.7.6 组合测试 187
第14章 仓颉UI案例:卡星租车 196
14.1 资源导入 198
14.2 启动页结构 199
14.2.1 跃动的标志 199
14.2.2 中部文本 200
14.2.3 底部按钮 201
14.2.4 组合 202
14.3 车型数据结构 202
14.4 地图定位页 203
14.5 预订页 205
14.5.1 搜索栏 206
14.5.2 标题栏 207
14.5.3 筛选栏 207
14.5.4 车型列表区域 209
14.5.5 组合 213
14.6 车型详情页 213
14.6.1 状态变量 214
14.6.2 纯组件 214
14.6.3 组合 223
第15章 仓颉UI案例:智能打蒜器 224
15.1 资源导入 225
15.2 首页结构 226
15.3 功能层 226
15.3.1 状态变量 226
15.3.2 面板控制区域 226
15.3.3 文字提示区域 227
15.4 开关灯指示层 227
第16章 仓颉UI案例:绝汁水果 229
16.1 资源导入 230
16.2 启动页结构 231
16.2.1 横幅数据 231
16.2.2 横幅组件 231
16.2.3 进入按钮 233
16.2.4 组合 233
16.3 首页 234
16.3.1 状态变量 234
16.3.2 标题栏 236
16.3.3 水果卡片 237
16.3.4 组合 240
16.4 详情页 240
16.4.1 状态变量 241
16.4.2 添加至购物车函数 241
16.4.3 页面结构 242
16.4.4 组合 246
第17章 仓颉UI案例:畅游 247
17.1 资源导入 248
17.2 启动页结构 249
17.2.1 背景层 249
17.2.2 文字层 250
17.2.3 动效层 252
17.2.4 组合 254
17.3 首页 255
17.3.1 旅游产品数据 255
17.3.2 状态变量 256
17.3.3 导航栏 256
17.3.4 文字栏 257
17.3.5 筛选栏 257
17.3.6 旅游卡片列表 258
17.3.7 选项卡 260
17.3.8 组合 261
17.4 详情页 262
17.4.1 状态变量 262
17.4.2 背景层 262
17.4.3 导航栏 262
17.4.4 品名和价格区 263
17.4.5 预订区 265
17.4.6 组合 268
第18章 仓颉UI案例:起司播客 270
18.1 资源导入 271
18.2 首页结构 272
18.2.1 导航栏 272
18.2.2 分类标题 273
18.2.3 分类卡片列表 273
18.2.4 筛选栏 278
18.2.5 音乐列表 280
18.2.6 组合 284
18.3 频道页 285
18.3.1?播客作品数据 285
18.3.2 导航栏 286
18.3.3 播客个人信息区域 286
18.3.4 播客作品列表 287
18.3.5 组合 289
18.4 播放页 290
18.4.1 状态变量 290
18.4.2 导航栏 291
18.4.3 作品大图 292
18.4.4 作品名和作者 292
18.4.5 播放控制按钮 293
18.4.6 组合 294
第19章 仓颉UI案例:世界巡游团 295
19.1 资源导入 296
19.2 启动页 297
19.2.1 封面组件 297
19.2.2 启动按钮组件 302
19.2.3 背景色 303
19.2.4 右侧封面修正 303
19.2.5 组合 304
19.3 首页 306
19.3.1 导航组件 306
19.3.2 口号文字组件 308
19.3.3 搜索条组件 309
19.3.4 筛选按钮栏 311
19.3.5 推荐卡片列表组件 315
19.3.6 选项卡组件 331
19.3.7 首页的调整优化 335
19.4 详情页 338
19.4.1 导航栏 338
19.4.2 缩略图列表 340
19.4.3 详情卡片 342
19.4.4 组合 350
第20章 仓颉UI案例:生鲜配送网 353
20.1 资源导入 354
20.2 首页结构 355
20.3 导航 355
20.3.1 阴影层 356
20.3.2 菜单层 357
20.3.3 菜单阴影效果 357
20.3.4 菜单内容 358
20.4 上半部分 362
20.4.1 背景图片层 363
20.4.2 主题文字层 367
20.4.3 右侧指示图片层 371
20.4.4 组合 372
20.5 中间部分 379
20.6 下半部分 380
20.6.1 卡片结构 380
20.6.2 卡片背景 381
20.6.3 卡片内容 383
20.6.4 卡片列表 388
20.6.5 卡片列表容器背景 393
20.6.6 组合 394
20.7 下半屏预览 395
第21章 仓颉UI案例:溢彩美妆网 397
21.1 资源导入 398
21.2 启动页结构 399
21.3 背景层 399
21.3.1 渐变流动光影 399
21.3.2 图形衬边 401
21.3.3 组合 407
21.4 导航 410
21.4.1 大标题 410
21.4.2 导航菜单 410
21.4.3 右侧图标组 411
21.4.4 组合 412
21.5 主题文字区 414
21.5.1 小标题 414
21.5.2 大标题 415
21.5.3 副标题 416
21.5.4 按钮组 416
21.5.5 组合 417
21.6 图片区 420
21.6.1 双卡片组 420
21.6.2 横幅卡片 421
21.6.3 组合 421
21.7 评价浮层 424
21.7.1 评价卡片 424
21.7.2 评价头像 425
21.7.3 组合 425
21.8 组装首页 427
VI
VII