开源鸿蒙(OpenHarmony)应用开发零基础入门(微课视频版)
定 价:89.5 元
丛书名:计算机技术开发与应用丛书
本书定位为OpenHarmony应用开发从入门到综合开发能力提升的技术进阶类图书。全书用通俗易懂的语言、丰富实用的案例,循序渐进地讲解OpenHarmony应用开发的常用技术、相关经验和实用技巧等,使读者能够独立、完整地开发OpenHarmony应用。本书注重任务驱动的实战项目开发,精心设计了127个技术范例,启发读者思考,促进动手实践,培养读者分析问题和解决问题的能力;精心选取了14个项目案例,详细讲解企业级项目需求,锻炼项目开发素养和创新力。为便于高效学习,使读者快速掌握OpenHarmony应用开发技术,本书提供完整的教学课件、源代码和微课视频等配套资源。本书可作为OpenHarmony和HarmonyOS(HarmonyOS NEXT)应用开发初学者的入门级书籍,也可作为高等学校、教育培训机构移动应用开发类课程的教学用户和软件开发技术人员的参考书。
(1)内容系统全面本书依据OpenHarmony 4.1 Release版本官方配套文档系统整理了侧重应用开发的知识体系,将开发环境搭建、ArkTS程序设计、界面组件与布局、数据存储与访问、多媒体、网络、传感器与位置服务及元服务与端云一体化开发等层面的知识点巧妙整合和串联,使读者对OpenHarmony应用开发技术的理解更具系统性和全面性。(2)学习通俗易懂本书内容由浅入深,浅显易懂,采用类比、图例、表格等方式讲解重点和难点,并配套技术范例帮助读者掌握使用方法和应用场景。全书提供了详细的实现步骤、源代码及代码注释,帮助读者快速领会学习内容,提升开发应用能力。(3)配套资源丰富提供教学大纲、教学课件、程序源码、习题及答案等教学资源,以及全部技术范例和项目案例的微课视频(扫描封底刮刮卡注册后可直接扫描书中二维码观看),以便不同类别的读者群体选择使用,提升学习效率。
OpenHarmony是华为公司贡献主要代码、多家单位共建,并由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目。它是一款全领域、新一代、开源开放,并具备面向全场景、分布式等特点的智能终端操作系统。OpenHarmony开源至今,已有超过300家合作伙伴加入OpenHarmony生态共建,7800多名共建者参与贡献,贡献代码1.1亿多行,在Gitee活跃度指数上排名第一,累计超过600款软硬件产品通过OpenHarmony兼容性测评。目前,OpenHarmony已成为发展最快的智能终端开源操作系统,更被业界认为是中国高科技公司打破Android和iOS垄断移动操作系统市场的开始,对中国高科技产业的独立自主具有非常重大的战略意义。OpenHarmony作为构建智能终端操作系统的重要基础能力平台和安全底座,对打造自主可控的国产操作系统、构建新的智能终端产业生态意义重大。深圳、北京、福州、惠州、重庆等城市也率先出台相关产业政策支持OpenHarmony发展,从供给侧和需求侧推动生态建设。随着OpenHarmony版本迭代、支持设备类型的增加和能力的提升,越来越多的合作伙伴基于OpenHarmony打造出自己的产品,目前已经覆盖教育、金融、交通、政务、医疗、航空等多个行业,在设备创新上取得了显著成就。例如,华为在OpenHarmony的基础上,通过增加HiLink(鸿蒙智联)、HMS(华为移动服务)等定制商业服务,推出了HarmonyOS和HarmonyOS NEXT商业化操作系统。HarmonyOS基于OpenHarmony和AOSP(Android Open Source Project)打造,兼容Android系统;HarmonyOS NEXT在HarmonyOS的基础上剔除AOSP,不再兼容Android系统。基于OpenHarmony的开发主要分为设备开发(南向开发)和应用开发(北向开发)两个方向: 设备开发主要侧重于硬件层面的开发,涉及硬件接口控制、设备驱动开发、鸿蒙系统内核开发等;应用开发主要侧重于应用层面的开发,如UI设计、App开发等,更多地关注用户体验、应用性能优化和业务逻辑的实现。对于应用开发来讲,OpenHarmony和HarmonyOS没有太大区别,开发的应用都可以在两个系统上运行,应用开发中使用的API都是由OpenHarmony提供。为此,本书以OpenHarmony应用开发为基础,采用案例诠释理论内涵、项目推动实践创新的编写思路,以一个个易学、易用、易扩展的技术范例和有趣、经典、综合性的项目案例为载体,由浅入深、循序渐进地阐述基于ArkTS语言、ArkUI开发框架和最新API开发OpenHarmony应用的知识体系,既有助于读者掌握理论知识和开发技术,又有助于读者在实践中灵活运用和拓展创新。本书作者长期从事移动应用开发类课程建设与教学改革研究,有丰富的项目开发经验。本书采用作者主持研究的华为支持产学合作协同育人新工科建设项目中取得的成果作为部分内容。本书提供教学大纲、教学课件、程序源码等,还提供微课视频同步讲解,读者先扫描封底刮刮卡中的二维码,再扫描书中相应位置的二维码,即可以边看边学、边学边做,真正实现教、学、做的有机融合,提升从案例模仿到应用创新的递进式项目化软件开发能力。全书共9章,内容安排如下。第1章为OpenHarmony应用开发环境。概要介绍OpenHarmony系统的发展历程、现状和技术架构,详细讲解DevEco Studio在Windows、macOS平台下的安装步骤及OpenHarmony应用开发环境的搭建方法。第2章为OpenHarmony应用的工程结构。从零开始介绍OpenHarmony工程项目的创建流程和应用程序包结构;详细阐述OpenHarmony工程项目的目录结构、资源分类及引用方法,初步阐述ArkTS语言的基本结构。第3章为ArkTS程序设计基础。主要介绍ArkTS语言中变量、常量、数据类型、运算符、控制流程的基本语法;详细阐述ArkTS语言中的函数、类、对象、接口、泛型与异常的基本概念和使用方法,并结合实际技术范例讲解它们的应用场景。第4章为界面基础组件与布局。详细介绍组件在OpenHarmony应用页面中的定义和属性设置方法、事件的定义和绑定方法,介绍Android应用程序的设计模式、用户界面的布局管理器和组件的共有属性,并结合多个技术范例和四则运算练习器拼图游戏毕业生满意度调查表等项目案例阐述状态管理、布局及Button、Text、TextInput、Image、Tabs、TabContent、Menu、TextTimer、Progress、Grid、GridItem、Panel、TextPicker、TextPickerDialog、DatePicker、DatePickerDialog、TimePicker、TimePickerDialog、Slider、Rating、Radio、Checkbox和CheckboxGroup组件的使用方法及应用场景。第5章为数据存储与访问。分别介绍数据管理和文件管理机制,包含用户首选项、键值型数据库、关系数据库等通用数据持久化接口及文件管理模块接口,并结合多个技术范例和睡眠质量测试系统备忘录我爱背单词等项目案例阐述Toggle、Stepper、StepperItem、CustomDialog、List、ListItem、ListItemGroup、Search、Badge等组件的使用方法和应用场景,以及ResourceManager接口实现应用资源的访问、用户首选项接口实现键值对存储访问数据、应用文件存储与访问接口实现文件操作、关系数据接口实现数据库操作的方法和应用场景。第6章为多媒体应用开发。简要介绍音频接口、视频接口、相机接口和图片接口的基本概念和原理,并结合多个技术范例和影音播放器图片编辑器等项目案例阐述AVPlayer、XComponent、Video、Canvas等组件的使用方法和应用场景,以及利用CanvasRenderingContext2D、PhotoViewPicker和图片处理接口开发多媒体应用的流程和方法。第7章为网络应用开发。简要介绍HTTP访问网络的基本原理和方法,并结合多个技术范例和股票行情查询工具等项目案例阐述Web、Swipper组件的使用方法和应用场景,以及ArkTS开发框架下数据请求接口访问网络数据、解析JSON格式数据和XML格式数据的方法和应用场景。第8章为传感器与位置服务应用开发。简要介绍OpenHarmony平台支持的传感器类别、功能及位置服务相关的概念,并结合多个技术范例和指南针高德地图在鸿蒙中的应用项目案例讲解加速度、环境光强度、磁场等传感器接口的使用方法和应用场景,以及利用位置服务接口进行定位和地址编码解析的方法和应用场景。第9章为元服务与端云一体化开发。分别介绍元服务、服务卡片的概念及它们之间的关系,并以便携记分牌项目案例的实现过程详细讲解元服务的开发流程和应用场景,以 实验室安全测试系统项目案例的实现过程详细讲解服务卡片、端云一体化开发流程和应用场景。本书以OpenHarmony最新发行版为基础,结合实际的企业应用项目案例进行编著,具有如下鲜明特点。(1) 全书依据官方技术文档,选取侧重实战的知识点和应用场景编写,并配套所有技术范例和项目案例的微课视频,既是一本让初学者看得懂技术、学得会步骤、做得出项目的零基础入门级教材,也是一本让具有一定软件开发经验的学习者无缝切换到鸿蒙应用开发的快速上手参考书。(2) 全书由浅入深的知识点体系重构和系统全面的知识点应用场景解析,既可以让零基础的初学者快速入门并掌握OpenHarmony应用开发技术和开发技巧,也可以让具有一定编程基础的开发者找到合适的起点,进一步提高开发水平,提升创新能力。(3) 全书提供基于OpenHarmony技术点的技术范例127个,将理论讲解落实到代码实现上,有助于激发读者的学习兴趣,提升读者的项目编程能力。另外还结合每个技术范例提供了14个综合性的企业级实战项目案例,这些案例从零开始实现,对提升读者的项目创新能力具有很高的应用价值。本书在编写过程中得到了清华大学出版社的帮助和指导,周巧扣、李霞等在资料收集和原稿校对等方面做了一些工作,在此一并表示感谢。由于作者理论水平和实践经验有限,书中疏漏之处在所难免,恳请广大读者提出宝贵的意见和建议。
倪红军2025年1月
第1章OpenHarmony应用开发环境11.1OpenHarmony概述11.1.1OpenHarmony的发展11.1.2OpenHarmony的现状31.1.3方舟开发框架31.1.4OpenHarmony的技术架构41.1.5OpenHarmony的技术特性51.1.6OpenHarmony的系统类型61.2OpenHarmony应用开发环境搭建61.2.1DevEco Studio介绍71.2.2搭建Windows平台开发环境81.2.3搭建macOS平台开发环境9小结9第2章OpenHarmony应用的工程结构102.1创建OpenHarmony工程102.1.1第一个OpenHarmony工程102.1.2OpenHarmony应用程序包152.2OpenHarmony工程目录结构172.2.1工程级目录结构172.2.2模块级目录结构192.2.3资源分类与引用222.2.4ArkTS语言的基本结构24小结25第3章ArkTS程序设计基础263.1ArkTS基本语法263.1.1变量和常量263.1.2数据类型273.1.3运算符313.1.4控制流程333.2函数373.2.1标准库函数373.2.2用户自定义函数373.2.3函数重载403.3类和对象403.3.1类的定义和使用413.3.2类的继承433.3.3可见性修饰符443.3.4对象字面量443.4接口453.4.1接口的定义和使用453.4.2接口的继承473.5泛型473.5.1泛型类/接口473.5.2泛型函数493.5.3泛型默认值493.6异常503.6.1抛出异常503.6.2捕获异常51小结51第4章界面基础组件与布局524.1概述524.1.1组件524.1.2状态管理584.1.3事件604.1.4布局634.2四则运算练习器的设计与实现714.2.1Button组件714.2.2Text组件724.2.3TextInput组件734.2.4Image组件764.2.5Tabs和TabContent组件814.2.6案例: 四则运算练习器854.3拼图游戏的设计与实现904.3.1Menu组件904.3.2TextTimer组件934.3.3Progress组件964.3.4Grid和GridItem组件1004.3.5Panel组件1054.3.6案例: 拼图游戏1094.4毕业生满意度调查表的设计与实现1144.4.1TextPicker组件1154.4.2TextPickerDialog组件1164.4.3DatePicker组件1184.4.4DatePickerDialog组件1184.4.5TimePicker组件1204.4.6TimePickerDialog组件1214.4.7Slider组件1224.4.8Rating组件1254.4.9Radio组件1264.4.10Checkbox和CheckboxGroup组件1274.4.11案例: 毕业生满意度调查表130小结134第5章数据存储与访问1355.1概述1355.1.1数据管理机制1355.1.2文件管理机制1365.2睡眠质量测试系统的设计与实现1365.2.1Toggle组件1375.2.2Stepper和StepperItem组件1405.2.3页面路由1425.2.4UIAbility组件1495.2.5用户首选项存储与访问接口1605.2.6案例: 睡眠质量测试系统1665.3备忘录的设计与实现1745.3.1CustomDialog组件1745.3.2应用文件存储与访问接口1785.3.3List、ListItem和ListItemGroup组件2005.3.4案例: 备忘录2075.4我爱背单词的设计与实现2165.4.1ResourceManager接口2165.4.2Search组件2215.4.3Badge组件2255.4.4关系数据接口2275.4.5案例: 我爱背单词242小结264第6章多媒体应用开发2656.1概述2656.1.1音频接口2656.1.2视频接口2656.1.3相机接口2666.1.4图片接口2666.2影音播放器的设计与实现2666.2.1AVPlayer2666.2.2监听和取消监听事件2736.2.3XComponent2766.2.4Video组件2816.2.5媒体查询2846.2.6案例: 影音播放器2896.3图片编辑器的设计与实现2986.3.1PhotoViewPicker2986.3.2图片处理接口2996.3.3Canvas组件3096.3.4CanvasRenderingContext2D3106.3.5案例: 图片编辑器325小结334第7章网络应用开发3357.1概述3357.1.1HTTP访问网络3357.1.2Web组件3367.2股票行情查询工具的设计与实现3457.2.1数据请求接口3457.2.2Swiper组件3547.2.3案例: 股票行情查询工具357小结366第8章传感器与位置服务应用开发3678.1概述3678.1.1传感器3678.1.2位置服务3698.2传感器的应用3698.2.1传感器接口3698.2.2振动3788.2.3案例: 指南针的设计与实现3818.3位置服务的应用3858.3.1位置服务接口3858.3.2案例: 高德地图在鸿蒙中的应用393小结400第9章元服务与端云一体化开发4019.1元服务4019.1.1什么是元服务4019.1.2元服务图标4029.1.3案例: 便携记分牌元服务开发4029.2端云一体化开发4269.2.1服务卡片4269.2.2端云一体化开发4329.2.3案例: 实验室安全测试系统的开发446小结457