前言


缺“芯”少“魂”一直以来是我们国家信息产业的痛点。这里“芯”指的是芯片,“魂”指的是操作系统。鸿蒙操作系统(HarmonyOS)是一款由华为公司推出的面向万物互联的分布式操作系统。自2018年对外流出相关的设计概念以来,鸿蒙操作系统就引起了国内外专家学者们的广泛关注,它被认为是国产新一代操作系统的希望。作为完全自主知识产权的操作系统,鸿蒙操作系统不仅填补了国内操作系统的空白,更是一举改变了我们“受制于人”“卡脖子”的被动局面。自鸿蒙“出道”以来的短短几年内,已经完成生态建设布局,成为万物互联的重要基石。构建鸿蒙生态,加速国产化进程已是大势所趋,也将打破西方国家系统垄断的新局面。
迄今为止,鸿蒙操作系统已位居全球第三大移动操作系统。据新浪财经报道,搭载鸿蒙操作系统的装机量2023年将超过12.3亿台。目前鸿蒙操作系统高速发展所面临的关键问题是生态建设所需的具有鸿蒙开发基础的人才储备存在巨大缺口。习近平总书记在党的二十大报告中提出: “培养什么人、怎样培养人、为谁培养人是教育的根本问题”。大学作为我国科学研究、技术创新、人才培养和产业孵化的重要机构之一,需要发挥特殊优势,积极参与并努力促进新产业形态构建,做到“顶天”“立地”“育人才”,这是高校也是教师的特殊使命与时代责任。响应党的二十大报告要求,推进产教融合和教材建设,为国家信息产业“卡脖子”技术发展略尽绵薄之力,更是编者的心声。
作为较早进行鸿蒙操作系统应用开发教学的专业教师,编者在2021年8月就投身于鸿蒙教学的相关工作,并且在2022年6月起与华为技术有限公司在鸿蒙应用人才培养这一方向开展项目合作,并取得了一定的成果。在教学过程中,编者通过梳理鸿蒙的应用开发知识和教学过程资料,编写了本教材,希望能在鸿蒙万物互联时代到来之际为广大感兴趣的开发者提供一套较为系统且全面的鸿蒙开发讲解图书。除了本书的内容之外,本教材还提供相对应的教学大纲、PPT、实验手册、源程序等资料。
本书针对鸿蒙操作系统的应用开发基础进行了梳理和介绍,由浅入深地介绍了HarmonyOS应用开发的实践方法。本书共分为12章,内容包括:HarmonyOS简介、Java基础、开发环境搭建及调试、用户界面(UI)、Page Ability、公共事件与通知、线程管理与线程通信、Service Ability、Data Ability、分布式任务调度、设备管理、网络与连接。各章的主要内容如下。
第1章综合介绍了HarmonyOS的产生背景、发展历程、系统特性、体系结构等基础知识,让读者系统地了解HarmonyOS。第2章介绍了Java基础。考虑没有Java编程基础的读者,本章介绍了HarmonyOS开发中所需要的Java基础语法知识。
第3章介绍了DevEco Studio开发环境搭建以及预览器、远程模拟器、本地模拟器和远程设备总计4种调试方式。
第4章介绍了用户界面(UI)的框架、常用组件、布局及事件监听方法。
第5章重点介绍了Page Ability基础知识、Page Ability生命周期,以及各个页面之间的跳转。
第6章介绍了公共事件的订阅、发布和退订,以及通知的发布和取消。
第7章介绍了线程管理与线程通信,包括通过任务分发器分发任务以及线程间的通信。
第8章介绍了Service Ability的概念和生命周期、Service的两种启动方式以及前台服务的实现。
第9章介绍了Data Ability的创建和访问,以及如何访问文件、本地数据库和远程数据库。
第10章介绍了HarmonyOS分布式任务调度能力、实现原理,以及任务调度的实现。
第11章介绍了设备管理,重点关注了手机内部传感器的调用,以及位置开发原理和实现过程。
第12章介绍了网络与连接,重点介绍了蓝牙的开发流程和URL访问。
版本信息
HarmonyOS本身也在不断的迭代演化之中,随着其SDK和IDE版本的更新,API及应用开发特性也在不断地更新丰富。本书编写时选取HarmonyOS SDK7(Java 3.0.0.5)版本进行代码梳理和讲解,IDE版本为DevEco Studio 3.0 Release,但是实际使用中依然可能会出现本书代码与实际代码不同的情况,在这种情况下读者可以跟踪最新代码并获取最新信息。
致谢
在本书的编写过程中得到了众多帮助,在此对诸位表达真挚的谢意。首先,感谢教育部和华为技术有限公司提供的合作机会及经费支持;感谢华为谭景盟、李榕鑫工程师提供了技术上的支持和帮助;感谢于赫、于存江、孙向阳、张猛、聂春燕等老师为本书的编写提供了许多宝贵的意见和建议;特别感谢杨瑞铭和孙特两位研究生参与本书样例开发及配套资源的筹备,协助完成书中内容及代码的测试验证;感谢清华大学出版社的薛杨编辑在教材写作和出版过程中提供的帮助。最后再次感谢大家!
源代码下载
编者2023年12月