图书目录

目录

第1章HarmonyOS简介/1

1.1HarmonyOS的前世今生1

1.1.1HarmonyOS概述1

1.1.2HarmonyOS全场景战略1

1.2HarmonyOS的技术特性2

1.2.1硬件互助,资源共享3

1.2.2一次开发,多端部署5

1.2.3统一操作系统,弹性部署5

1.3HarmonyOS的技术架构6

1.3.1内核层6

1.3.2系统服务层7

1.3.3框架层7

1.3.4应用层7

第2章Hello World/8

2.1HarmonyOS应用程序的开发环境8

2.2运行 Hello World10

2.2.1创建HelloWorld项目工程10

2.2.2启动模拟器13

2.2.3运行HelloWorld工程15

2.2.4分析HelloWord工程15

2.3HarmonyOS应用程序运行调试16

2.3.1设置断点16

2.3.2输出日志18

2.4HarmonyOS应用程序设备调试19

2.4.1生成签名文件19

2.4.2签名HarmonyOS App25

2.4.3无线真机调试25

第3章窗口/27

3.1Page Ability概述27HarmonyOS应用程序开发与实战(Java版)目录3.2Page Ability的基本用法28

3.2.1手动创建Page Ability类28

3.2.2在config.json文件中注册Page Ability28

3.2.3创建布局文件30

3.2.4静态装载布局文件31

3.2.5显示Page Ability31

3.2.6销毁Page Ability32

3.3Page Ability之间的交互33

3.3.1Intent的基本概念33

3.3.2显式使用Intent33

3.3.3隐式使用Intent35

3.3.4Page Ability之间的通信37

3.4Page Ability的启动类型42

3.5Page Ability的跨设备迁移43

3.5.1跨设备迁移前的准备工作44

3.5.2获取设备列表44

3.5.3根据设备ID调用Page Ability49

3.6AbilitySlice间导航54

3.6.1AbilitySlice的基础用法54

3.6.2同一Page间导航55

3.6.3不同Page间导航58

3.7生命周期59

3.7.1Page Ability的生命周期59

3.7.2AbilitySlice的生命周期60

第4章布局/62

4.1Java UI框架概述62

4.2方向布局63

4.2.1支持的XML属性63

4.2.2排列方式64

4.2.3对齐方式66

4.2.4权重68

4.3依赖布局70

4.3.1支持的XML属性70

4.3.2排列方式71

4.4表格布局76

4.4.1支持的XML属性76

4.4.2设置行列数76

4.4.3设置布局排列方向78

4.4.4设置对齐方式78

4.5栈布局80

4.5.1支持的XML属性80

4.5.2使用默认布局添加组件80

4.5.3使用相对位置添加组件81

4.6位置布局82

4.7自适应盒子布局84

4.7.1常用方法84

4.7.2场景示例84

第5章UI组件/88

5.1展示组件88

5.1.1文本组件88

5.1.2图像组件91

5.1.3进度条组件94

5.1.4圆形进度条97

5.1.5时钟组件97

5.2交互组件101

5.2.1按钮组件101

5.2.2切换按钮组件104

5.2.3文本编辑组件105

5.2.4单选组件 107

5.2.5多选组件109

5.2.6开关组件111

5.3高级组件113

5.3.1列表组件113

5.3.2标签列表组件118

5.3.3滑动选择器组件 121

5.3.4日期选择器组件124

5.3.5时间选择器组件127

5.3.6滚动视图组件130

第6章对话框/133

6.1普通对话框133

6.1.1显示一个简单的对话框133

6.1.2为对话框添加“关闭”按钮134

6.1.3为对话框添加多个按钮135

6.1.4调整按钮的尺寸136

6.1.5自动关闭对话框138

6.2定制对话框139

6.3Toast 信息框140

6.4Popup 对话框142

第7章多媒体/143

7.1音频143

7.1.1准备本地音频文件143

7.1.2播放本地音频文件145

7.1.3暂停和继续播放音频 146

7.1.4停止播放音频 146

7.1.5播放在线音频文件146

7.1.6播放音频的完整案例146

7.2视频148

7.3相机151

7.3.1拍照API的使用方式 151

7.3.2使用相机需要申请的权限152

7.3.3拍照的完整案例 152

第8章数据管理/160

8.1轻量级数据存储开发160

8.1.1Preferences类的基本用法 160

8.1.2响应文件写入动作162

8.1.3轻量级存储的移动和删除164

8.2关系数据库开发165

8.2.1使用SQL语句操作SQLite数据库166

8.2.2使用谓词操作SQLite数据库168

8.2.3使用事务171

8.3对象关系映射数据库174

8.4分布式文件177

8.5分布式数据180

8.5.1同步数据180

8.5.2用谓词查询分布式数据183

第9章Data Ability/190

9.1Data Ability概述190

9.2Data Ability中的URI190

9.3创建Data Ability191

9.3.1手动创建Data Ability191

9.3.2自动创建Data Ability192

9.3.3创建DataAbilityHelper193

9.4Data Ability访问数据库193

9.5Data Ability访问文件198

9.6Data Ability跨设备访问201

第10章Service Ability/206

10.1Service Ability概述206

10.2Service Ability的生命周期206

10.2.1启动状态的Service Ability206

10.2.2连接状态的Service Ability207

10.3Service Ability的创建207

10.3.1创建Service Ability207

10.3.2创建前台Service Ability209

10.4Service Ability的启动与关闭210

10.4.1启动Service Ability210

10.4.2关闭Service Ability211

10.5Service Ability的连接214

10.5.1创建接口定义文件214

10.5.2连接Service Ability214

第11章工大通/219

11.1功能需求分析219

11.1.1每日一报219

11.1.2通行码领取220

11.1.3数据管理220

11.1.4业务流程图220

11.1.5系统构架图220

11.2搭建项目框架221

11.2.1创建项目221

11.2.2配置起始页222

11.2.3配置App图标和名称222

11.3界面设计223

11.3.1登录界面223

11.3.2主界面224

11.3.3每日一报界面227

11.3.4通行码领取界面229

11.4功能实现230

11.4.1登录功能230

11.4.2表单信息收集231

11.4.3数据管理233

11.4.4表单提交236

11.4.5通行码领取236

第12章定点巡检/239

12.1功能需求分析239

12.1.1设备定位及地图位置展示240

12.1.2振动提示240

12.1.3拍照打卡240

12.1.4历史打卡记录240

12.2搭建项目框架240

12.2.1项目架构240

12.2.2权限设置240

12.3页面设计242

12.3.1地图界面242

12.3.2打卡拍照界面242

12.3.3打卡记录界面242

12.4功能实现244

12.4.1数据管理244

12.4.2定位及地图展示247

12.4.3振动器调用250

12.4.4相机调用250

12.4.5打卡操作252

12.4.6打卡记录查询253

第13章多媒体播放器/255

13.1功能需求分析255

13.1.1获取读取本地媒体文件权限255

13.1.2获取本地媒体文件256

13.1.3播放音频和视频256

13.2搭建项目框架256

13.2.1项目结构256

13.2.2添加应用权限256

13.2.3配置相关的abilities257

13.3界面设计258

13.3.1欢迎界面258

13.3.2媒体列表页258

13.3.3播放器界面261

13.4功能实现263

13.4.1欢迎界面及权限授予263

13.4.2媒体列表及获取本地媒体文件264

13.4.3封装一个Player播放器类268

13.4.4实现PlayerAbility270