HarmonyOS应用程序开发与实战(Java版)
定 价:¥59
中 教 价:¥45.73 (7.75折)
库 存 数: 2
丛 书 名:高等学校计算机专业系列教材
本书系统全面地讲解在鸿蒙操作系统(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章分别介绍三个完整的案例(工大通、定点巡检、多媒体播放器),不仅涉及基本的布局、组件、数据管理等基础知识,还涉及了对设备硬件调用等进阶知识,读者可以在这三个案例的基础上进行二次开发,使其功能更加丰富,更具有实用性和应用性。 本书主要面向鸿蒙应用的入门开发人员,也可作为高校教材或培训机构的参考用书。
系统全面地讲解在鸿蒙系统(HarmonyOS)下基于Java的应用程序开发的基础理论知识,通过丰富、详细的案例向读者呈现鸿蒙系统应用程序的开发流程。
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月
第1章HarmonyOS简介/11.1HarmonyOS的前世今生11.1.1HarmonyOS概述11.1.2HarmonyOS全场景战略11.2HarmonyOS的技术特性21.2.1硬件互助,资源共享31.2.2一次开发,多端部署51.2.3统一操作系统,弹性部署51.3HarmonyOS的技术架构61.3.1内核层61.3.2系统服务层71.3.3框架层71.3.4应用层7第2章Hello World/82.1HarmonyOS应用程序的开发环境82.2运行 Hello World102.2.1创建HelloWorld项目工程102.2.2启动模拟器132.2.3运行HelloWorld工程152.2.4分析HelloWord工程152.3HarmonyOS应用程序运行调试162.3.1设置断点162.3.2输出日志182.4HarmonyOS应用程序设备调试192.4.1生成签名文件192.4.2签名HarmonyOS App252.4.3无线真机调试25第3章窗口/273.1Page Ability概述27HarmonyOS应用程序开发与实战(Java版)目录3.2Page Ability的基本用法283.2.1手动创建Page Ability类283.2.2在config.json文件中注册Page Ability283.2.3创建布局文件303.2.4静态装载布局文件313.2.5显示Page Ability313.2.6销毁Page Ability323.3Page Ability之间的交互333.3.1Intent的基本概念333.3.2显式使用Intent333.3.3隐式使用Intent353.3.4Page Ability之间的通信373.4Page Ability的启动类型423.5Page Ability的跨设备迁移433.5.1跨设备迁移前的准备工作443.5.2获取设备列表443.5.3根据设备ID调用Page Ability493.6AbilitySlice间导航543.6.1AbilitySlice的基础用法543.6.2同一Page间导航553.6.3不同Page间导航583.7生命周期593.7.1Page Ability的生命周期593.7.2AbilitySlice的生命周期60第4章布局/624.1Java UI框架概述624.2方向布局634.2.1支持的XML属性634.2.2排列方式644.2.3对齐方式664.2.4权重684.3依赖布局704.3.1支持的XML属性704.3.2排列方式714.4表格布局764.4.1支持的XML属性764.4.2设置行列数764.4.3设置布局排列方向784.4.4设置对齐方式784.5栈布局804.5.1支持的XML属性804.5.2使用默认布局添加组件804.5.3使用相对位置添加组件814.6位置布局824.7自适应盒子布局844.7.1常用方法844.7.2场景示例84第5章UI组件/885.1展示组件885.1.1文本组件885.1.2图像组件915.1.3进度条组件945.1.4圆形进度条975.1.5时钟组件975.2交互组件1015.2.1按钮组件1015.2.2切换按钮组件1045.2.3文本编辑组件1055.2.4单选组件 1075.2.5多选组件1095.2.6开关组件1115.3高级组件1135.3.1列表组件1135.3.2标签列表组件1185.3.3滑动选择器组件 1215.3.4日期选择器组件1245.3.5时间选择器组件1275.3.6滚动视图组件130第6章对话框/1336.1普通对话框1336.1.1显示一个简单的对话框1336.1.2为对话框添加关闭按钮1346.1.3为对话框添加多个按钮1356.1.4调整按钮的尺寸1366.1.5自动关闭对话框1386.2定制对话框1396.3Toast 信息框1406.4Popup 对话框142第7章多媒体/1437.1音频1437.1.1准备本地音频文件1437.1.2播放本地音频文件1457.1.3暂停和继续播放音频 1467.1.4停止播放音频 1467.1.5播放在线音频文件1467.1.6播放音频的完整案例1467.2视频1487.3相机1517.3.1拍照API的使用方式 1517.3.2使用相机需要申请的权限1527.3.3拍照的完整案例 152第8章数据管理/1608.1轻量级数据存储开发1608.1.1Preferences类的基本用法 1608.1.2响应文件写入动作1628.1.3轻量级存储的移动和删除1648.2关系数据库开发1658.2.1使用SQL语句操作SQLite数据库1668.2.2使用谓词操作SQLite数据库1688.2.3使用事务1718.3对象关系映射数据库1748.4分布式文件1778.5分布式数据1808.5.1同步数据1808.5.2用谓词查询分布式数据183第9章Data Ability/1909.1Data Ability概述1909.2Data Ability中的URI1909.3创建Data Ability1919.3.1手动创建Data Ability1919.3.2自动创建Data Ability1929.3.3创建DataAbilityHelper1939.4Data Ability访问数据库1939.5Data Ability访问文件1989.6Data Ability跨设备访问201第10章Service Ability/20610.1Service Ability概述20610.2Service Ability的生命周期20610.2.1启动状态的Service Ability20610.2.2连接状态的Service Ability20710.3Service Ability的创建20710.3.1创建Service Ability20710.3.2创建前台Service Ability20910.4Service Ability的启动与关闭21010.4.1启动Service Ability21010.4.2关闭Service Ability21110.5Service Ability的连接21410.5.1创建接口定义文件21410.5.2连接Service Ability214第11章工大通/21911.1功能需求分析21911.1.1每日一报21911.1.2通行码领取22011.1.3数据管理22011.1.4业务流程图22011.1.5系统构架图22011.2搭建项目框架22111.2.1创建项目22111.2.2配置起始页22211.2.3配置App图标和名称22211.3界面设计22311.3.1登录界面22311.3.2主界面22411.3.3每日一报界面22711.3.4通行码领取界面22911.4功能实现23011.4.1登录功能23011.4.2表单信息收集23111.4.3数据管理23311.4.4表单提交23611.4.5通行码领取236第12章定点巡检/23912.1功能需求分析23912.1.1设备定位及地图位置展示24012.1.2振动提示24012.1.3拍照打卡24012.1.4历史打卡记录24012.2搭建项目框架24012.2.1项目架构24012.2.2权限设置24012.3页面设计24212.3.1地图界面24212.3.2打卡拍照界面24212.3.3打卡记录界面24212.4功能实现24412.4.1数据管理24412.4.2定位及地图展示24712.4.3振动器调用25012.4.4相机调用25012.4.5打卡操作25212.4.6打卡记录查询253第13章多媒体播放器/25513.1功能需求分析25513.1.1获取读取本地媒体文件权限25513.1.2获取本地媒体文件25613.1.3播放音频和视频25613.2搭建项目框架25613.2.1项目结构25613.2.2添加应用权限25613.2.3配置相关的abilities25713.3界面设计25813.3.1欢迎界面25813.3.2媒体列表页25813.3.3播放器界面26113.4功能实现26313.4.1欢迎界面及权限授予26313.4.2媒体列表及获取本地媒体文件26413.4.3封装一个Player播放器类26813.4.4实现PlayerAbility270