图书目录

目录

第1章前端开发基础/1

1.1JavaScript基础1

1.1.1快速开始1

1.1.2变量及数据类型2

1.1.3运算符3

1.1.4流程控制4

1.1.5函数8

1.2ES6的新特性11

1.2.1变量声明11

1.2.2箭头函数13

1.2.3模板字符串14

1.2.4类Class15

1.2.5模块化16

1.2.6Promise18

1.3TypeScript20

1.3.1TypeScript概述20

1.3.2静态类型系统20

1.3.3抽象类和接口21

1.3.4枚举23

1.3.5泛型24

【本章总结】25

【课后习题】26

第2章HarmonyOS应用开发环境/27

2.1华为DevEco Studio的安装和配置27

2.2第一个鸿蒙程序29

2.3项目结构31

2.3.1项目结构目录说明31

2.3.2module.json5配置文件说明32

2.4预览器Preview34

2.5本地模拟器352.6本地真机环境的搭建38

2.7程序调试Debug的使用40

2.8修改App项目的图标和名称40

【本章总结】42

【课后习题】42

第3章ArkTS状态管理与渲染控制/44

3.1ArkTS概述44

3.2ArkUI的基本组成45

3.3自定义组件46

3.3.1自定义组件的基本结构46

3.3.2创建旅游攻略组件47

3.4状态管理49

3.4.1状态管理概述49

3.4.2@State50

3.4.3@Prop50

3.4.4@Link52

3.4.5@Provide/@Consume52

3.4.6@Observed/@ObjectLink53

3.5管理应用拥有的状态54

3.5.1LocalStorage54

3.5.2AppStorage56

3.6渲染控制57

3.6.1if/else条件渲染58

3.6.2ForEach循环渲染59

【本章总结】61

【课后习题】61

第4章ArkUI常用组件与布局/62

4.1ArkUI常用组件62

4.2ArkUI组件的基本属性CommonAttribute63

4.3案例实践: 驴途项目开屏页Welcome.ets开发64

4.4ArkUI组件基本事件CommonEvent66

4.5ArkUI布局69

4.5.1线性布局69

4.5.2层叠布局72

4.5.3相对布局72

4.5.4列表73

4.6案例实践: 驴途项目首页Index开发74

4.6.1首页搜索栏的实现74

4.6.2首页轮播图的实现76

4.6.3旅游攻略列表的实现76

4.6.4底部TabBar的实现79

【本章总结】82

【课后习题】83

第5章界面动画手势与Web组件开发/84

5.1动画84

5.1.1动画参数84

5.1.2动画属性(animation)85

5.1.3显式动画(animateTo)86

5.1.4帧动画(ohos.animator)86

5.1.5转场动画88

5.2手势(gesture)89

5.2.1手势类型89

5.2.2绑定手势(gesture)90

5.2.3各手势接口91

5.3Web组件92

5.3.1Web组件和WebController控制器92

5.3.2加载远程网页和本地网页93

5.3.3App与Web组件内的网页交互94

5.4案例实践——旅游攻略详情页95

5.4.1旅游攻略详情页整体结构的构建96

5.4.2头部实现96

5.4.3主体实现97

5.4.4底部实现99

5.4.5评论区实现99

5.5攻略分享页面的整体构建101

5.5.1攻略分享页面的整体结构101

5.5.2照片分享区域的实现102

5.5.3攻略分享页面自定义弹窗的实现103

5.6注册页面104

5.6.1注册页面的整体结构105

5.6.2注册表单信息校验106

5.6.3《用户协议和隐私政策》弹窗107

【本章总结】108

【课后习题】108

第6章应用模型开发/109

6.1应用模型概述109

6.2Stage模型概述110

6.3应用配置文件111

6.3.1全局配置文件app.json111

6.3.2模块配置文件module.json111

6.3.3应用图标及名称113

6.4AbilityStage组件容器114

6.4.1应用上下文(Context)114

6.4.2AbilityStage114

6.4.3AbilityStage开发实践115

6.5UIAbility组件116

6.5.1UIAbility的启动模式116

6.5.2指定实例启动旅游攻略列表117

6.5.3UIAbility组件的生命周期118

6.5.4WindowStage119

6.6启动应用内的UIAbility组件120

6.6.1启动应用内的UIAbility120

6.6.2AbilityStage获取Key121

6.6.3UIAbility获取参数123

6.6.4UIAbility组件与UI的数据同步123

6.7应用间跳转125

6.7.1拉起指定应用125

6.7.2拉起指定类型的应用128

【本章总结】130

【课后习题】130

第7章权限管理与网络请求/132

7.1应用权限概述132

7.1.1APL等级132

7.1.2权限授权方式133

7.2申请权限133

7.2.1申请权限的流程133

7.2.2声明权限133

7.3向用户申请授权135

7.4网络请求139

7.4.1HTTP模块139

7.4.2HTTP请求和应答139

7.5应用签名141

7.5.1创建密钥库文件及证书请求文件141

7.5.2创建HarmonyOS应用/元服务142

7.5.3申请调试证书143

7.5.4申请调试Profile文件143

7.5.5配置签名145

【本章总结】146

【课后习题】146

第8章文件服务和数据管理/148

8.1文件基础服务概述148

8.1.1文件分类148

8.1.2文件基础服务的特点148

8.2应用文件开发149

8.2.1沙箱目录150

8.2.2获取应用文件路径151

8.2.3获取模块文件路径152

8.2.4应用文件操作154

8.3用户文件开发157

8.3.1用户文件概述157

8.3.2选择用户文件158

8.3.3保存用户文件162

8.4数据管理165

8.5用户首选项的开发166

8.6键值型数据库的开发169

8.7关系数据库的开发171

8.7.1草稿保存功能173

8.7.2草稿读取功能176

8.7.3草稿删除功能178

8.7.4草稿修改功能181

【本章总结】182

【课后习题】183

第9章应用后台任务/184

9.1后台任务概述184

9.2短时任务185

9.2.1短时任务概述185

9.2.2攻略分享数据保存185

9.3长时任务186

9.3.1长时任务概述186

9.3.2用户定位持续更新187

9.4延迟任务189

9.4.1延迟任务概述189

9.4.2延迟任务实践190

9.5代理提醒192

【本章总结】192

【课后习题】193

第10章手机能力开发/194

10.1公共事件服务194

10.1.1公共事件概述194

10.1.2公共事件的类型195

10.1.3订阅电量过低事件195

10.2用户通知服务196

10.2.1用户通知服务概述196

10.2.2发布通知197

10.3剪贴板服务199

10.3.1剪贴板概述199

10.3.2剪贴板实践199

【本章总结】200

【课后习题】201

第11章SDK开放能力/202

11.1HarmonyOS应用服务202

11.2Scan Kit统一扫码服务203

11.2.1Scan Kit概述203

11.2.2用户二维码生成203

11.2.3默认界面扫码能力204

11.3Location Kit位置服务205

11.3.1位置服务概述205

11.3.2获取设备的当前位置206

11.4Map Kit地图服务207

11.4.1地图服务概述207

11.4.2开发前的准备207

11.4.3地图显示209

11.4.4地图交互211

11.4.5地图Poi搜索212

11.5Ads Kit广告服务214

11.5.1广告的分类214

11.5.2开发前的准备214

11.5.3展示开屏广告215

【本章总结】217

【课后习题】218

第12章集成第三方库的NDK技术应用/219

12.1NAPI技术219

12.1.1NAPI的工作原理219

12.1.2NAPI常用的API(NodeAPI)220

12.2NDK工程222

12.2.1NDK工程的创建222

12.2.2ArkTS侧文件列表223

12.2.3Native C++侧文件列表224

12.2.4NDK应用总体调用流程224

12.3NDK工程编译和使用226

12.3.1HarmonyOS NDK工程编译说明226

12.3.2CMakelist文件说明226

12.3.3NAPI常用库227

12.4ArkTS应用与Native C++交互技术228

12.4.1同步调用(ArkTS→C++)229

12.4.2同步回调(C++→ArkTS)234

12.4.3异步调用(ArkTS→C++→…→ArkTS)235

12.4.4ArkTS对象与Native对象绑定239

12.5XComponent组件245

12.5.1XComponent组件简介245

12.5.2NativeXComponent组件246

12.5.3XComponent组件与NativeXComponent接口247

12.5.4XComponent组件管理机制251

12.6XComponent组件应用案例: 自定义控件261

12.6.1XComponent组件封装261

12.6.2自定义控件事件处理262

12.6.3第三方库EGL接口和使用264

12.6.4自定义控件绘制渲染267

【本章总结】282

【课后习题】283

第13章元服务开发与可分可合、自由流转/284

13.1元服务概述284

13.1.1元服务和应用的区别284

13.1.2元服务的特征285

13.2元服务开发286

13.2.1创建元服务工程286

13.2.2元服务图标开发289

13.2.3景点门票元服务首页开发290

13.2.4景点门票详情页开发291

13.2.5元服务卡片开发293

13.3可分可合302

13.3.1开发态复用302

13.3.2运行态复用308

13.4自由流转311

13.4.1自由流转概述311

13.4.2应用接续开发实践312

【本章总结】315

【课后习题】316

第14章一次开发,多端部署/317

14.1“一多”的定义及目标317

14.2“一多”的开发流程318

14.2.1UX设计318

14.2.2架构设计与工程管理318

14.2.3页面开发319

14.2.4功能开发319

14.3“一多”架构设计与工程管理320

14.3.1分层架构逻辑模型320

14.3.2分层架构开发模型321

14.3.3分层架构部署模型322

14.3.4分层架构的实现323

14.4“一多”页面的开发327

14.4.1布局能力328

14.4.2布局能力实践343

14.4.3交互归一347

14.4.4多态组件348

14.5“一多”功能的开发348

14.5.1系统能力(SysCap)与API348

14.5.2多设备应用开发349

【本章总结】350

【课后习题】351

第15章端云一体化开发/352

15.1云开发服务352

15.1.1云开发服务的优势352

15.1.2端云一体化开发的流程353

15.2创建端云一体化工程354

15.2.1端云一体化工程的创建354

15.2.2端云一体化工程目录结构357

15.3云数据库开发358

15.3.1云数据库的概念358

15.3.2云数据库开发的流程360

15.3.3端侧访问云数据库366

15.4云函数开发369

15.4.1云函数的概念369

15.4.2云函数开发的流程369

15.4.3端侧调用云函数376

【本章总结】377

【课后习题】377

参考文献/379