Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > Java基础相关 >

鸿蒙HarmonyOS手机应用开发实战 PDF 下载


分享到:
时间:2024-03-30 15:10来源:http://www.java1234.com 作者:转载  侵权举报
华为自主研发的HarmonyOS(鸿蒙系统)是一款面向未来、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。借助HarmonyOS全场景分布式系统和设备生态定义全
失效链接处理
鸿蒙HarmonyOS手机应用开发实战 PDF 下载

下载地址:
版权归出版社和原作者所有,链接已删除,请购买正版

用户下载说明:

电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
https://product.dangdang.com/11368255664.html
 

相关截图:





资料简介:

华为自主研发的HarmonyOS(鸿蒙系统)是一款面向未来、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。借助HarmonyOS全场景分布式系统和设备生态定义全新的硬件、交互和服务体验。本书采用新的HarmonyOS 2版本作为基石,详细介绍如何基于HarmonyOS进行手机应用的开发,内容涵盖HarmonyOS架构、DevEco Studio、应用结构、Ability、任务调度、公共事件、通知、剪切板、Java UI、JS UI、多模输入、线程管理、视频、图像、相机、音频、媒体会话管理、媒体数据管理、安全管理、二维码、通用文字识别、蓝牙、WLAN、网络管理、电话服务、设备管理、数据管理、原子化服务、流转等多个主题。本书列举了大量解决实际问题的案例,具有很强的前瞻性、应用性、趣味性。 本书主要面向的是对移动应用或HarmonyOS应用感兴趣的学生、开发人员、架构师。




资料目录:


1章  HarmonyOS简介 1

1.1  HarmonyOS产生的背景 1

1.1.1  为什么需要HarmonyOS 1

1.1.2  什么是HarmonyOS 3

1.1.3  鸿蒙生态、OpenHarmony、HarmonyOS的区别与联系 4

1.1.4  HarmonyOS应用开发 4

1.2  特性介绍 5

1.2.1  硬件互助,资源共享 5

1.2.2  一次开发,多端部署 8

1.2.3  统一OS,弹性部署 8

1.3  架构介绍 8

1.3.1  内核层 9

1.3.2  系统服务层 9

1.3.3  框架层 10

1.3.4  应用层 11

1.4  获取开发支持 12

2章  开发环境搭建 13

2.1  注册华为开发者联盟账号 13

2.1.1  开发者享受的权益 13

2.1.2  注册、认证准备的资料 14

2.1.3  注册账号 14

2.1.4  登录账号 15

2.1.5  实名认证 15

2.2  DevEco Studio下载安装 19

2.2.1  运行环境要求 20

2.2.2  下载和安装de.js 20

2.2.3  下载和安装DevEco Studio 20

2.3  设置DevEco Studio(可选) 21

2.3.1  npm设置 21

2.3.2  设置Gradle代理 22

2.3.3  设置DevEco Studio代理 23

2.3.4  下载HarmonyOS SDK 24

2.4  DevEco Studio功能介绍 26

2.4.1  创建新的工程 26

2.4.2  添加Module 27

2.4.3  删除Module 30

2.5  DevEco Studio常见问题小结 30

2.5.1  问题1:访问Gradle仓库慢 31

2.5.2  问题2:模拟器端口被占用无法启动 32

3章  开发一个HarmonyOS应用 33

3.1  创建一个新工程 33

3.1.1  选择创建新工程 33

3.1.2  选择设备应用类型的模板 33

3.1.3  配置项目的信息 34

3.1.4  自动生成工程代码 35

3.2  运行工程 35

3.2.1  单击“运行”按钮 35

3.2.2  选择模拟器 36

3.2.3  启动模拟器 36

3.2.4  再次运行工程 38

3.3  在本地真机中运行应用 39

3.3.1  连接真实的设备 39

3.3.2  运行应用 40

3.4  使用远程真机运行应用 40

3.4.1  启动远程真机设备 40

3.4.2  运行应用 41

3.4.3  对应用进行签名 41

3.4.4  再次运行应用 44

3.5  使用DevEco Studio预览器 45

3.5.1  如何安装预览器 45

3.5.2  如何使用预览器 45

4章  探索HarmonyOS应用 46

4.1  App 46

4.1.1  什么是App 46

4.1.2  应用程序包结构 47

4.1.3  代码层次的应用 48

4.2  Ability 48

4.2.1  Ability类 48

4.2.2  AbilitySlice类 49

4.2.3  UI界面 49

4.3  库文件 50

4.4  资源文件 50

4.4.1  限定词目录 51

4.4.2  资源组目录 52

4.5  配置文件 53

4.5.1  配置文件的组成 54

4.5.2  app对象的内部结构 56

4.5.3  deviceConfig对象的内部结构 56

4.5.4  module对象的内部结构 59

4.6  pack.info 63

5章  Ability基础知识 64

5.1  Ability概述 64

5.1.1  FA 65

5.1.2  PA 65

5.1.3  Ability的配置 65

5.2  Ability的三层架构 65

5.2.1  应用的分层 66

5.2.2  不分层的应用架构 66

5.2.3  应用的三层架构 68

5.2.4  Ability的三层架构 69

5.3  Page Ability 69

5.3.1  Page Ability的基本概念 69

5.3.2  多个AbilitySlice构成一个Page 70

5.3.3  AbilitySlice路由配置 71

5.3.4  不同Page间的导航 71

5.4  实战:多个AbilitySlice间的路由和导航 72

5.4.1  创建应用 72

5.4.2  创建多个AbilitySlice 72

5.4.3  修改PayAbilitySlice布局 74

5.4.4  设置PayAbilitySlice的样式 74

5.4.5  如何实现AbilitySlice之间的路由和导航 76

5.4.6  运行 79

5.5  Page与AbilitySlice的生命周期 79

5.5.1  Page的生命周期 80

5.5.2  AbilitySlice的生命周期 81

5.5.3  Page与AbilitySlice生命周期的关联 82

5.6  实战:Page与AbilitySlice生命周期的例子 82

5.6.1  修改MainAbilitySlice 83

5.6.2  修改PayAbilitySlice 84

5.6.3  修改PayAbilitySlice布局和文字 85

5.6.4  实现AbilitySlice之间的路由 87

5.6.5  运行 89

5.7  Service Ability 92

5.7.1  创建Service 93

5.7.2  启动Service 94

5.7.3  连接Service 95

5.7.4  Service Ability的生命周期 96

5.8  实战:Service Ability生命周期的例子 97

5.8.1  创建Service 97

5.8.2  创建远程对象 100

5.8.3  修改MainAbilitySlice 100

5.8.4  修改ability_main.ml 103

5.8.5  运行 104

5.9  Data Ability 105

5.9.1  URI 105

5.9.2  访问Data 106

5.10  实战:使用DataAbilityHelper访问文件 107

5.10.1  创建DataAbility 107

5.10.2  修改UserDataAbility 110

5.10.3  创建文件 113

5.10.4  修改MainAbilitySlice 114

5.10.5  创建FileUtils类 115

5.10.6  运行 116

5.11  实战:使用DataAbilityHelper访问数据库 117

5.11.1  创建DataAbility 117

5.11.2  初始化数据库 120

5.11.3  重写query方法 121

5.11.4  重写insert方法 121

5.11.5  重写update方法 122

5.11.6  重写delete方法 122

5.11.7  修改MainAbilitySlice 123

5.11.8  运行 126

5.12  Intent 127

5.12.1  Operation与Parameters 127

5.12.2  根据Ability的全称启动应用 128

5.12.3  实战:根据Operation的其他属性启动应用 129

5.12.4  实战:启动系统应用 135

6章  Ability任务调度 140

6.1  分布式任务调度概述 140

6.1.1  “级虚拟终端”的能力互助 140

6.1.2  跨设备软件访问的系统服务 141

6.1.3  全场景下的任务调度 142

6.2  分布式任务调度能力简介 142

6.2.1  全局查询 143

6.2.2  启动和关闭 143

6.2.3  连接和断开连接 144

6.2.4  轻量通信 144

6.3  分布式任务调度实现原理 145

6.3.1  PRC 145

6.3.2  HarmonyOS设备之间的通信 146

6.3.3  HarmonyOS设备与其他OS设备之间的通信 146

6.4  实现分布式任务调度 147

6.4.1  如何实现分布式任务调度 147

6.4.2  分布式任务调度支持的场景 148

6.5  实战:分布式任务调度启动远程FA 148

6.5.1  修改RemoteFA应用 148

6.5.2  修改DistributedSchedulingStartRemoteFA应用 150

6.5.3  运行 156

6.6  实战:分布式任务调度启动和关闭远程PA 157

6.6.1  修改RemotePA应用 157

6.6.2  修改DistributedSchedulingStartSRemotePA应用 160

6.6.3  运行 167

7章  Ability公共事件与通知 169

7.1  公共事件与通知概述 169

7.1.1  公共事件和通知 169

7.1.2  约束与限制 170

7.2  公共事件服务 170

7.2.1  接口说明 170

7.2.2  发布公共事件 172

7.2.3  订阅公共事件 174

7.2.4  订公共事件 176

7.3  实战:公共事件服务发布事件 176

7.3.1  修改ability_main.ml 176

7.3.2  修改MainAbilitySlice 177

7.3.3  自定义权限 179

7.3.4  运行 179

7.4  实战:公共事件服务订阅事件 180

7.4.1  修改ability_main.ml 180

7.4.2  创建CommonEventSubscriber 180

7.4.3  修改MainAbility 181

7.4.4  修改配置文件 182

7.4.5  运行 183

7.5  高级通知服务 183

7.5.1  接口说明 183

7.5.2  创建tificationSlot 186

7.5.3  发布通知 186

7.5.4  取消通知 187

7.6  实战:通知发布与取消 188

7.6.1  修改ability_main.ml 188

7.6.2  修改MainAbilitySlice 189

7.6.3  运行 191

8章  剪贴板 193

8.1  剪贴板概述 193

8.2  场景介绍 193

8.3  接口说明 194

8.3.1  SystemPasteboard 194

8.3.2  PasteData 195

8.3.3  PasteData.Record 195

8.3.4  PasteData.DataProperty 196

8.3.5  IPasteDataChangedListener 196

8.4  实战:剪贴板数据的写入 196

8.4.1  修改ability_main.ml 196

8.4.2  修改MainAbilitySlice 197

8.4.3  运行 199

8.5  实战:剪切板数据的读取 199

8.5.1  修改ability_main.ml 199

8.5.2  修改MainAbilitySlice 200

8.5.3  运行 202

9章  用Java开发UI 204

9.1  用Java开发UI概述 204

9.1.1  组件和布局 204

9.1.2  Component和ComponentContainer 205

9.1.3  LayoutConfig 205

9.1.4  组件树 206

9.2  组件与布局 206

9.2.1  编写布局的方式 206

9.2.2  组件分类 207

9.3  实战:通过XML创建布局 207

9.3.1  理解XML布局文件 207

9.3.2  创建XML布局文件 209

9.3.3  加载XML布局 209

9.3.4  显示XML布局 210

9.4  实战:通过Java创建布局 211

9.4.1  新建AbilitySlice 212

9.4.2  创建布局 212

9.4.3  在布局中添加组件 213

9.4.4  显示布局 214

9.5  实战:常用显示类组件——Tet 215

9.5.1  设置背景 216

9.5.2  设置字体大小和颜色 217

9.5.3  设置字体风格和字重 218

9.5.4  设置文本对齐方式 219

9.5.5  设置文本换行和大显示行数 221

9.5.6  设置自动调节字体大小 222

9.5.7  实现跑马灯效果 224

9.5.8  场景示例 225

9.6  实战:常用显示类组件——Image 227

9.6.1  创建Image 227

9.6.2  设置透明度 228

9.6.3  设置缩放系数 229

9.7  实战:常用显示类组件——ProgressBar 230

9.7.1  创建ProgressBar 230

9.7.2  设置方向 231

9.7.3  设置颜色 232

9.7.4  设置提示文字 233

9.8  实战:常用交互类组件——Button 234

9.8.1  创建Button 235

9.8.2  设置点击事件 237

9.8.3  设置椭圆按钮 239

9.8.4  设置圆形按钮 241

9.8.5  场景示例 242

9.9  实战:常用交互类组件——TetField 247

9.9.1  创建TetField 247

9.9.2  设置多行显示 248

9.9.3  场景示例 249

9.10  实战:常用交互类组件——Checkbo 251

9.10.1  创建Checkbo 251

9.10.2  设置选中和取消选中时的颜色 252

9.11  实战:常用交互类组件——RadioButton/RadioContainer 253

9.11.1  创建RadioButton/RadioContainer 253

9.11.2  设置显示单选结果 255

9.12  实战:常用交互类组件——Switch 259

9.12.1  创建Switch 259

9.12.2  设置文本 260

9.13  实战:常用交互类组件——ScrollView 261

9.13.1  创建ScrollView 261

9.13.2  配置Tet显示的内容 262

9.14  实战:常用交互类组件——Tab/TabList 263

9.14.1  创建TabList 263

9.14.2  响应焦点变化 266

9.15  实战:常用交互类组件——Picker 268

9.15.1  创建Picker 268

9.15.2  格式化Picker的显示 268

9.15.3  日期滑动选择器DatePicker 270

9.15.4  时间滑动选择器TimePicker 271

9.16  实战:常用交互类组件——ListContainer 272

9.16.1  创建ListContainer 272

9.16.2  创建ListContainer子布局 273

9.16.3  创建ListContainer数据包装类 273

9.16.4  创建ListContainer数据提供者 274

9.16.5  修改MainAbilitySlice 275

9.17  实战:常用交互类组件——RoundProgressBar 276

9.17.1  创建RoundProgressBar 276

9.17.2  设置开始和结束角度 277

9.18  实战:常用交互类组件——DirectionalLayout 278

9.18.1  创建DirectionalLayout 279

9.18.2  设置水平排列 280

9.18.3  设置权重 281

9.19  实战:常用交互类组件——DependentLayout 283

9.19.1  创建DependentLayout 283

9.19.2  相对于同级组件 284

9.19.3  相对于父组件 284

9.19.4  场景示例 285

9.20  实战:常用交互类组件——StackLayout 286

9.21  实战:常用交互类组件——TableLayout 288

10章  用JS开发UI 290

10.1  用JS开发UI概述 290

10.1.1  基础能力 290

10.1.2  整体架构 291

10.2  实战:创建JS FA应用 291

10.2.1  创建应用 292

10.2.2  AceAbility 293

10.2.3  如何加载JS FA 294

10.2.4  JS FA开发目录 294

10.2.5  运行 296

10.3  组件与布局 297

10.3.1  组件分类 297

10.3.2  布局 297

10.4  实战:点赞按钮 299

10.4.1  应用概述 299

10.4.2  修改应用 299

10.4.3  运行应用 300

10.5  实战:JS FA调用PA 301

10.5.1  FA调用PA接口 301

10.5.2  创建应用及编写FA 302

10.5.3  编写PA 303

10.5.4  运行应用 306

11章  多模输入UI开发 307

11.1  多模输入概述 307

11.2  接口说明 308

11.2.1  MultimodalEvent 308

11.2.2  CompositeEvent 308

11.2.3  RotationEvent 308

11.2.4  SpeechEvent 309

11.2.5  ManipulationEvent 309

11.2.6  KeyEvent 309

11.2.7  TouchEvent 310

11.2.8  KeyBoardEvent 310

11.2.9  MouseEvent 310

11.2.10  MmiPoint 311

11.2.11  EventCreator 311

11.2.12  InputDevice 311

11.3  实战:多模输入事件 311

11.3.1  修改MainAbilitySlice 311

11.3.2  获取多模输入权限 313

12章  线程管理 314

12.1  线程管理概述 314

12.2  场景介绍 314

12.2.1  传统Java多线程管理 315

12.2.2  HarmonyOS多线程管理 317

12.3  接口说明 317

12.3.1  GlobalTaskDispatcher 317

12.3.2  ParallelTaskDispatcher 317

12.3.3  SerialTaskDispatcher 318

12.3.4  SpecTaskDispatcher 318

12.4  实战:线程管理示例 318

12.4.1  修改ability_main.ml 319

12.4.2  自定义任务 320

12.4.3  执行任务派发 321

12.4.4  运行 322

12.5  线程间通信概述 323

12.5.1  基本概念 323

12.5.2  运作机制 324

12.5.3  约束限制 324

12.6  实战:线程间通信示例 324

12.6.1  修改ability_main.ml 325

12.6.2  自定义事件处理器 325

12.6.3  执行事件发送 327

12.6.4  运行 328

13章  视频 330

13.1  视频概述 330

13.2  实战:媒体编解码能力查询 330

13.2.1  接口说明 331

13.2.2  创建应用 331

13.2.3  修改ability_main.ml 331

13.2.4  修改MainAbilitySlice 332

13.2.5  运行 334

13.3  实战:视频编解码 334

13.3.1  接口说明 335

13.3.2  创建应用 335

13.3.3  修改ability_main.ml 335

13.3.4  修改MainAbilitySlice 336

13.3.5  运行 340

13.4  实战:视频播放 340

13.4.1  接口说明 340

13.4.2  创建应用 341

13.4.3  修改ability_main.ml 341

13.4.4  修改MainAbilitySlice 343

13.4.5  运行 347

13.5  实战:视频录制 347

13.5.1  接口说明 347

13.5.2  创建应用 348

13.5.3  修改ability_main.ml 348

13.5.4  修改MainAbilitySlice 350

13.5.5  运行 352

14章  图像 353

14.1  图像概述 353

14.1.1  基本概念 353

14.1.2  约束与限制 354

14.2  实战:图像解码和编码 354

14.2.1  接口说明 354

14.2.2  创建应用 355

14.2.3  修改ability_main.ml 355

14.2.4  修改MainAbilitySlice 356

14.2.5  解码作说明 360

14.2.6  编码作说明 361

14.3  实战:位图作 361

14.3.1  接口说明 361

14.3.2  创建应用 363

14.3.3  修改ability_main.ml 363

14.3.4  修改MainAbilitySlice 364

14.3.5  创建PielMap作说明 365

14.3.6  从位图对象中获取信息作说明 366

14.3.7  读取和写入像素作说明 366

14.3.8  释放资源 367

14.4  实战:图像属性解码 368

14.4.1  接口说明 368

14.4.2  创建应用 368

14.4.3  修改ability_main.ml 368

14.4.4  修改MainAbilitySlice 369

14.4.5  运行 372

15章  相机 373

15.1  相机概述 373

15.1.1  基本概念 373

15.1.2  约束与限制 374

15.1.3  相机开发流程 374

15.1.4  核心接口 374

15.1.5  相机权限 374

15.2  实战:相机设备创建 375

15.2.1  接口说明 375

15.2.2  创建应用 375

15.2.3  声明相机权限 375

15.2.4  修改ability_main.ml 376

15.2.5  修改MainAbilitySlice 377

15.2.6  运行 381

15.3  实战:相机设备配置 382

15.3.1  添加类变量 382

15.3.2  新增FrameStateCallbackImpl 383

15.3.3  修改onStart方法 384

15.3.4  修改onCreated方法 385

15.3.5  运行 386

15.4  实战:相机帧捕获 387

15.4.1  接口说明 387

15.4.2  启动预览(循环帧捕获) 387

15.4.3  释放资源 388

15.4.4  运行 388

15.4.5  实现拍照(单帧捕获) 388

15.4.6  声明存储权限 391

15.4.7  运行 393

16章  音频 394

16.1  音频概述 394

16.1.1  基本概念 394

16.1.2  约束与限制 395

16.2  实战:音频播放 395

16.2.1  接口说明 395

16.2.2  创建应用 396

16.2.3  修改ability_main.ml 396

16.2.4  修改MainAbilitySlice 397

16.2.5  运行 401

16.3  实战:音频采集 402

16.3.1  接口说明 402

16.3.2  创建应用 403

16.3.3  声明麦克风权限 403

16.3.4  修改ability_main.ml 404

16.3.5  修改MainAbilitySlice 405

16.4  实战:短音播放 408

16.4.1  接口说明 408

16.4.2  创建应用 409

16.4.3  修改ability_main.ml 409

16.4.4  修改MainAbilitySlice 410

16.4.5  运行 413

17章  媒体会话管理 414

17.1  媒体会话管理概述 414

17.1.1  AVSession框架主要的类 414

17.1.2  约束与限制 415

17.2  接口说明 416

17.2.1  AVBrowser的主要接口 416

17.2.2  AVBrowserService的主要接口 416

17.2.3  AVController的主要接口 417

17.2.4  AVSession的主要接口 418

17.2.5  AVElement的主要接口 418

17.3  实战:AVSession媒体框架客户端 419

17.3.1  创建应用 419

17.3.2  修改ability_main.ml 419

17.3.3  修改MainAbilitySlice 420

17.4  实战:AVSession媒体框架服务端 424

17.4.1  创建Service 424

17.4.2  修改AVService 425

17.4.3  运行 428

18章  媒体数据管理 429

18.1  媒体数据管理概述 429

18.1.1  媒体数据管理基本概念 429

18.1.2  约束与限制 429

18.2  实战:媒体元数据的获取 430

18.2.1  接口说明 430

18.2.2  创建应用 431

18.2.3  修改ability_main.ml 431

18.2.4  修改MainAbilitySlice 432

18.2.5  运行 435

18.3  实战:媒体存储数据作 436

18.3.1  接口说明 436

18.3.2  创建应用 437

18.3.3  声明权限 437

18.3.4  修改ability_main.ml 438

18.3.5  修改MainAbilitySlice 439

18.3.6  运行 443

18.4  实战:视频与图像缩略图获取 444

18.4.1  接口说明 444

18.4.2  创建应用 444

18.4.3  修改ability_main.ml 445

18.4.4  修改MainAbilitySlice 446

18.4.5  运行 449

19章  安全管理 451

19.1  权限的基本概念 451

19.2  权限运作机制 452

19.3  权限约束与限制 452

19.4  应用权限列表 453

19.4.1  权限分类 453

19.4.2  敏感权限 453

19.4.3  非敏感权限 454

19.4.4  受限开放的权限 455

19.5  应用权限开发流程 455

19.5.1  权限申请 455

19.5.2  自定义权限 456

19.5.3  访问权限控制 458

19.5.4  接口说明 459

19.5.5  动态申请权限的开发步骤 460

19.6  生物特征识别认证概述 461

19.7  生物特征识别运作机制 461

19.8  生物特征识别的约束与限制 462

19.9  生物特征识别的开发流程 462

19.9.1  接口说明 462

19.9.2  开发准备 463

19.9.3  开发过程 463

20章  二维码 466

20.1  二维码概述 466

20.1.1  什么是二维码 466

20.1.2  二维码的发展历程 467

20.2  场景介绍 467

20.3  接口说明 468

20.4  实战:生成二维码 468

20.4.1  创建应用 468

20.4.2  修改ability_main.ml 468

20.4.3  修改MainAbilitySlice 470

20.4.4  运行 473

21章  通用文字识别 474

21.1  通用文字识别概述 474

21.1.1  什么是OCR 474

21.1.2  OCR发展简史 474

21.2  场景介绍 475

21.3  接口说明 475

21.3.1  setVisionConfiguration()方法 476

21.3.2  detect()方法 476

21.3.3  约束与限制 476

21.4  实战:通用文字识别示例 477

21.4.1  创建应用 477

21.4.2  修改ability_main.ml 477

21.4.3  修改MainAbilitySlice 479

21.4.4  运行 482

22章  蓝牙 484

22.1  蓝牙概述 484

22.1.1  传统蓝牙 484

22.1.2  BLE 484

22.1.3  约束与限制 485

22.2  实战:传统蓝牙本机管理 485

22.2.1  接口说明 485

22.2.2  创建应用 486

22.2.3  声明权限 486

22.2.4  修改ability_main.ml 487

22.2.5  修改MainAbilitySlice 488

22.2.6  运行 491

22.3  实战:传统蓝牙远端设备作 494

22.3.1  接口说明 494

22.3.2  创建应用 495

22.3.3  声明权限 495

22.3.4  修改ability_main.ml 496

22.3.5  修改MainAbilitySlice 497

22.3.6  运行 501

22.4  实战:BLE扫描和广播 503

22.4.1  接口说明 503

22.4.2  创建应用 504

22.4.3  声明权限 504

22.4.4  修改ability_main.ml 505

22.4.5  修改MainAbilitySlice 507

22.4.6  运行 510

23章  WLAN 512

23.1  WLAN概述 512

23.1.1  WLAN简介 512

23.1.2  约束与限制 513

23.2  实战:WLAN的基础功能 513

23.2.1  接口说明 513

23.2.2  创建应用 514

23.2.3  声明权限 514

23.2.4  修改ability_main.ml 515

23.2.5  修改MainAbilitySlice 516

23.2.6  运行 520

23.3  实战:不信任热点配置 522

23.3.1  接口说明 522

23.3.2  创建应用 522

23.3.3  声明权限 522

23.3.4  修改ability_main.ml 523

23.3.5  修改MainAbilitySlice 524

23.3.6  运行 526

23.4  实战:WLAN消息通知 527

23.4.1  接口说明 527

23.4.2  创建应用 528

23.4.3  修改ability_main.ml 528

23.4.4  修改MainAbilitySlice 529

23.4.5  运行 531

24章  网络管理 533

24.1  网络管理概述 533

24.1.1  功能 533

24.1.2  约束与限制 533

24.2  实战:使用当前网络打开一个URL链接 534

24.2.1  接口说明 534

24.2.2  创建应用 534

24.2.3  声明权限 534

24.2.4  修改ability_main.ml 535

24.2.5  修改MainAbilitySlice 535

24.2.6  运行 539

24.3  实战:使用当前网络进行Socket数据传输 540

24.3.1  接口说明 540

24.3.2  创建应用 540

24.3.3  声明权限 540

24.3.4  修改ability_main.ml 541

24.3.5  修改MainAbilitySlice 541

24.3.6  运行 545

24.4  实战:流量统计 546

24.4.1  接口说明 546

24.4.2  创建应用 546

24.4.3  声明权限 546

24.4.4  修改ability_main.ml 547

24.4.5  修改MainAbilitySlice 548

24.4.6  运行 551

25章  电话服务 553

25.1  电话服务概述 553

25.1.1  主要的API 553

25.1.2  约束与限制 553

25.2  实战:获取当前蜂窝网络信号信息 554

25.2.1  接口说明 554

25.2.2  创建应用 554

25.2.3  修改ability_main.ml 554

25.2.4  修改MainAbilitySlice 555

25.2.5  运行 557

25.3  实战:观察蜂窝网络的状态变化 559

25.3.1  接口说明 560

25.3.2  创建应用 560

25.3.3  声明权限 560

25.3.4  修改ability_main.ml 560

25.3.5  修改MainAbilitySlice 562

25.3.6  运行 564

26章  设备管理 568

26.1  设备管理概述 568

26.1.1  传感器 569

26.1.2  控制类小器件 570

26.1.3  位置 571

26.2  实战:传感器示例 572

26.2.1  接口说明 572

26.2.2  创建应用 572

26.2.3  修改ability_main.ml 573

26.2.4  修改MainAbilitySlice 573

26.2.5  运行 576

26.3  实战:Light示例 578

26.3.1  接口说明 578

26.3.2  创建应用 578

26.3.3  修改ability_main.ml 579

26.3.4  修改MainAbilitySlice 579

26.3.5  运行 582

26.4  实战:获取设备的位置 582

26.4.1  接口说明 583

26.4.2  创建应用 583

26.4.3  声明权限 583

26.4.4  修改ability_main.ml 584

26.4.5  修改MainAbilitySlice 585

26.4.6  运行 588

26.5  实战:(逆)地理编码转化 589

26.5.1  接口说明 589

26.5.2  创建应用 590

26.5.3  修改ability_main.ml 590

26.5.4  修改MainAbilitySlice 591

26.5.5  运行 593

27章  数据管理 595

27.1  数据管理概述 595

27.2  关系型数据库 596

27.2.1  基本概念 596

27.2.2  运作机制 596

27.2.3  默认配置 597

27.2.4  约束与限制 597

27.2.5  接口说明 597

27.2.6  开发过程 600

27.3  对象关系映数据库 601

27.3.1  基本概念 601

27.3.2  运作机制 602

27.3.3  实体对象属性支持的类型 602

27.3.4  接口说明 603

27.4  实战:使用对象关系映数据库 605

27.4.1  修改build.gradle 605

27.4.2  新增User 606

27.4.3  新增UserStore 607

27.4.4  创建DataAbility 607

27.4.5  初始化数据库 609

27.4.6  新增queryAll方法 610

27.4.7  新增insert方法 611

27.4.8  新增update方法 611

27.4.9  新增deleteAll方法 611

27.4.10  修改ability_main.ml 612

27.4.11  修改MainAbilitySlice 614

27.4.12  运行 616

27.5  轻量级偏好数据库 619

27.5.1  基本概念 619

27.5.2  运作机制 620

27.5.3  约束与限制 620

27.5.4  接口说明 621

27.6  实战:使用轻量级偏好数据库 622

27.6.1  修改ability_main.ml 622

27.6.2  修改MainAbilitySlice 624

27.6.3  运行 627

27.7  数据存储管理 630

27.7.1  基本概念 630

27.7.2  运作机制 630

27.7.3  接口说明 631

27.8  实战:使用数据存储管理 632

27.8.1  修改ability_main.ml 632

27.8.2  修改MainAbilitySlice 633

27.8.3  运行 635

28章  原子化服务 637

28.1  原子化服务概述 637

28.1.1  什么是原子化服务 637

28.1.2  原子化服务特征 638

28.1.3  原子化服务典型的使用场景 639

28.2  服务中心 639

28.2.1  服务中心入口 639

28.2.2  常用服务 639

28.2.3  我的收藏 639

28.2.4  服务发现 640

28.3  实战:原子化服务HelloDog 641

28.3.1  初始化原子化服务 641

28.3.2  理解原子化服务的项目结构 641

28.3.3  搜索原子化服务 655

28.3.4  运行原子化服务 656

29章  流转 657

29.1  流转概述 657

29.2  流转架构 658

29.2.1  跨端迁移流程 659

29.2.2  多端协同流程 659

29.2.3  兼容性设计 660

29.3  跨端迁移 661

29.3.1  跨端迁移流程 661

29.3.2  接口说明 663

29.3.3  约束与限制 664

29.4  实战:实现跨端迁移与回迁 665

29.4.1  MainAbility实现IAbilityContinuation接口 665

29.4.2  声明权限 666

29.4.3  设计界面与布局 668

29.4.4  修改MainAbilitySlice 669

29.4.5  新增DeviceUtils 671

29.4.6  运行 673

29.5  多端协同 674

29.5.1  多端协同流程 674

29.5.2  接口说明 675

29.5.3  约束与限制 677

29.6  实战:实现多端协同 677

29.6.1  MainAbility实现IAbilityContinuation接口 677

29.6.2  声明权限 678

29.6.3  设计界面与布局 680

29.6.4  修改MainAbilitySlice 681

29.6.5  新增DeviceUtils 684

29.6.6  运行 685

30章  综合案例:俄罗斯方块游戏 687

30.1  案例概述 687

30.1.1  俄罗斯方块游戏概述 687

30.1.2  俄罗斯方块游戏的规则 688

30.2  代码实现 688

30.2.1  技术重点 688

30.2.2  设置布局 689

30.2.3  设置全屏 692

30.2.4  应用的主体逻辑 693

30.2.5  初始化游戏 696

30.2.6  创建网格数据 697

30.2.7  绘制网格 702

30.2.8  启动游戏 703

30.2.9  左移作 705

30.2.10  右移作 707

30.2.11  转换作 708

30.2.12  重置作 711

30.3  应用运行 711

参考文献 713



 





 
------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐