新書推薦:
《
反操纵心理学:夺回人生主导权 拒绝被操纵
》
售價:NT$
249.0
《
同工异曲:跨文化阅读的启示(修订版)(师承钱锺书先生,比较文学入门,体量小但内容丰,案例文笔皆精彩)
》
售價:NT$
199.0
《
牛津立法研究手册
》
售價:NT$
1630.0
《
制度为什么重要:政治科学中的新制度主义(人文社科悦读坊)
》
售價:NT$
290.0
《
梦醒子:一位华北乡居者的人生(1857—1942))(第2版)
》
售價:NT$
340.0
《
啊哈!原来如此(中译本修订版)
》
售價:NT$
290.0
《
部分识别入门——计量经济学的创新性方法
》
售價:NT$
345.0
《
东野圭吾:变身(来一场真正的烧脑 如果移植了别人的脑子,那是否还是我自己)
》
售價:NT$
295.0
|
編輯推薦: |
系统全面地讲解在鸿蒙系统(HarmonyOS)下基于Java的应用程序开发的基础理论知识,通过丰富、详细的案例向读者呈现鸿蒙系统应用程序的开发流程。
|
內容簡介: |
本书系统全面地讲解在鸿蒙操作系统(HarmonyOS)下基于Java的应用程序开发的基础理论知识,通过丰富、详细的案例向读者呈现HarmonyOS应用程序的开发流程。全书共13章。第1章对HarmonyOS的概念、技术特性以及技术架构进行了综合介绍;第2章以一个简单的Hello World工程为例,介绍HarmonyOS应用程序的开发环境、开发工具以及应用的调试过程,并对HarmonyOS的工程结构进行讲解,使读者能更好地切入和理解后续章节的学习内容;第3章详细介绍HarmonyOS应用程序的一大核心——Page Ability,其是完成后续章节学习的基础;第4~6章分别对布局、组件以及对话框进行系统介绍;第7章介绍HarmonyOS应用程序中多媒体的开发过程;第8、9章介绍HarmonyOS应用程序中数据管理和文件管理的部分;第10章介绍HarmonyOS应用程序中后台任务如何通过Service Ability运行;第11~13章分别介绍三个完整的案例(工大通、定点巡检、多媒体播放器),不仅涉及基本的布局、组件、数据管理等基础知识,还涉及了对设备硬件调用等进阶知识,读者可以在这三个案例的基础上进行二次开发,使其功能更加丰富,更具有实用性和应用性。 本书主要面向鸿蒙应用的入门开发人员,也可作为高校教材或培训机构的参考用书。
|
目錄:
|
第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
|
內容試閱:
|
HarmonyOS是华为自2012年开发的一款可兼容Android应用程序的跨平台分布式操作系统。自从华为对外流出鸿蒙操作系统(HarmonyOS)相关的设计概念以来,HarmonyOS就引起了广泛关注,它被认为是国产新一代操作系统的希望,是一款“面向未来”“面向万物互联”的全场景分布式操作系统。2019年8月,华为在开发者大会上正式发布HarmonyOS,并将该系统开源,供广大开发者学习。2020年9月,华为在开发者大会上发布了HarmonyOS 2.0,推出应用开发者Beta版本,并在同年12月推出了手机开发者Beta版。2021年10月,华为正式发布HarmonyOS 3.0 Beta版,这意味着HarmonyOS整体开发环境和SDK支持也逐步趋于成熟。HarmonyOS的产生体现出“坚持守正创新”的二十大精神,能够培养学生勇于进行理论探索和创新的能力。
HarmonyOS与Android和iOS一样,是独立的操作系统,都支持多种硬件设备,但搭载HarmonyOS的每个设备都不是孤立的,在系统层多终端融为一体,成为“超级终端”,终端之间能力、资源可以互助共享。这是HarmonyOS独有的特性,即华为提出的“万物互联”的概念。随着5G时代以及以后的6G时代、7G时代的来临,更多的硬件设备将得到网络支持,而有了HarmonyOS,这些设备不再是独立的个体,而是物联网的一部分,这些物联网设备所产生的数据将在全球物联网大脑中流动,其产生的力量将难以置信。
本书针对HarmonyOS SDK 4版本,对HarmonyOS的应用开发基础进行了梳理和介绍,并搭配对应案例进行讲解,帮助读者快速掌握。本书最后提供了三个完整的HarmonyOS应用程序的开发案例,供读者学习。
全书共13章。第1章对HarmonyOS的概念、技术特性以及技术架构进行了综合介绍,让读者对HarmonyOS有一个全面的了解。第2章以一个简单的Hello World工程为例,介绍HarmonyOS应用程序的开发环境、开发工具以及应用的调试过程,并对HarmonyOS的工程结构进行讲解,使读者能更好地切入和理解后续章节学习内容。第3章详细介绍HarmonyOS应用程序的一大核心——Page Ability,其是完成后续章节学习的基础,使读者更好地学习后续内容。第4~6章分别对布局、组件以及对话框进行系统介绍。第7章介绍HarmonyOS应用程序中多媒体的开发过程。第8、9章介绍HarmonyOS应用程序中的数据管理和文件管理的部分。第10章介绍HarmonyOS应用程序中后台任务如何通过Service Ability运行。第11~13章分别介绍三个完整的案例(工大通、定点巡检、多媒体播放器),不仅涉及基本的布局、组件、数据管理等基础知识,还涉及了对设备硬件调用等进阶开发知识,读者可以在这三个案例的基础上进行二次开发,使其功能更加丰富。
本书非常适合初学者入门,在内容讲解上,针对代码部分也采用循序渐进的方式进行讲解,保证读者能够根据提供的代码逐步掌握书中的知识点,并且提供直观的可视化效果作为参考。
在本书编写时,HarmonyOS的应用开发能力和系统还未完全成熟,处于快速更新迭代的状态,因此本书内容的广度和深度有限,仅涉及HarmonyOS应用开发中的一些基础核心功能。另外,在编写过程中,由于HarmonyOS的多次更新迭代,本书的代码也经历了多次测试和更改,因此读者在学习过程中也难免会碰到一些问题,还望读者见谅,也欢迎随时联系我们反馈问题。在此,也要感谢李强、刑伟伟、齐楚锋、刘大勇、房立国、王能森、杨望旭、刘旭、何川、张雨辰、章锴杰、林朗、陆琦超、周倩、王鸣飞、袁知恒等在书稿的编写、校对、核验以及本书案例代码的编写、调试等方面做出的贡献。
编者2023年3月
|
|