一步步教你开发鸿蒙系统应用,So Easy!
2019 年 10 月,华为鸿蒙操作系统(HarmonyOS)正式发布 1.0 版本。
它是一款面向万物互联的全场景分布式操作系统。
经过短短两年,HarmonyOS 目前已经运行在 2.2 亿部终端设备上,发展速度十分惊人,其巨大的商业价值逐渐被市场认可。
HarmonyOS 可以非常方便地连接不同的设备,打破硬件之间的物理屏障,使不同的硬件设备之间可以便捷、迅速地进行数据通信。
目前,物联网正从“万物互联”阶段进入“万物智联”阶段,HarmonyOS 可以作为这一阶段的“基础设施”。搭载了 HarmonyOS 的硬件设备,可以很自然地融入鸿蒙生态中。随着设备数量的不断增加,HarmonyOS 的优势会更加明显。
因此,建立一个完整的鸿蒙生态圈势在必行!
而在鸿蒙生态的基座中,开发者生态建设是艰难的一环,除了需要时间建设完善的人才培养体系来支撑人才培养,还需要通过推进鸿蒙商业化进程来扩大人才市场的需求,形成良性循环。在人才培养体系中,学习资料是重要的基础设施。
目前,鸿蒙生态中系统化的 HarmonyOS 应用开发资料仍然稀缺。
孙洋老师作为华为认证的 HarmonyOS 系统课程开发者,是国内投身于鸿蒙学习和深度研究的先行者,在线上和线下为广大开发者分享了大量的典型案例和实战经验。孙洋老师在大家的期盼中已将其研究精华汇集成书——《Hello HarmonyOS!——鸿蒙应用开发从入门到精通》,为鸿蒙生态的发展再次做出了贡献。
内容介绍
鸿蒙开发分为应用开发和设备开发,本书介绍的内容是其中的应用开发,基于 HarmonyOS 的 SDK 和开发工具 DevEco Studio 来完成。
鸿蒙应用开发主要使用的编程语言为 Java 和 JavaScript,并支持 C/C++语言来做 Native 开发。不同语言之间可以混合使用,满足了多种多样的开发需求。
本书使用 Java 语言进行讲解,系统地介绍鸿蒙应用开发的基础知识,适合作为入门鸿蒙应用开发的基础教程。
本书是系统地介绍鸿蒙应用开发知识的图书,较全面地介绍了鸿蒙应用开发所涉及的知识点,使用概念介绍、代码编写、代码讲解的模式,将所讲的内容通过小案例用由浅入深、分步拆解的方式进行介绍,希望为你带来更好的学习体验。
本书共分为 9 章:
第 1 章介绍了 HarmonyOS 的特性、基础知识及鸿蒙应用如何在单机和多设备上运行与调试。
第 2 章和第 8 章介绍了鸿蒙应用的布局与组件。通过学习第 2 章,你可以掌握不同布局方式适用的场景,了解应用中各个组件的摆放是如何实现的和如何给组件加上丰富的样式。第 8 章介绍了一些高级组件的使用方法,使用这些组件可以开发功能更为复杂的页面。第 3 章~第 7 章介绍了鸿蒙应用开发的各项知识,包括 Ability、分布式通信、数据管理、公共事件和通知、服务卡片。
第 9 章介绍了鸿蒙应用开发过程中的线程管理。
适读人群
本书适合移动终端应用设计、开发工程师,以及对鸿蒙应用开发感兴趣或准备从事相关行业的开发者及院校师生阅读参考。
如果你是一名初学者,那么请在开始阅读本书前,学习一些 Java 语言的基础知识。
如果你是一名有经验的资深 Android 移动开发人员,那么可以将本书作为案头参考资料,了解 Android 移动开发和鸿蒙开发的共同点与区别,从而快速上手鸿蒙应用开发。
作者简介
孙洋
华为开发者专家(HDE),华为认证的 HarmonyOS 系统课程开发者,华为开发者学堂认证讲师,51CTO HarmonyOS 技术社区 MVP,CSDN 博客专家,中国农业银行总行前研发工程师
目录概览
第 1 章 HarmonyOS 开篇
1.1 HarmonyOS 概述
1.1.1 HarmonyOS 技术特性
1.1.2 HarmonyOS 架构
1.2 HarmonyOS 环境搭建
1.2.1 DevEco Studio 安装
1.2.2 SDK 安装
1.2.3 HDC 工具配置
1.2.4 账号注册与实名认证
1.3 HarmonyOS 应用程序知识
1.3.1 App 与 HAP
1.3.2 Ability 概述
1.4 第一个程序:Hello World!
1.4.1 创建项目
1.4.2 项目目录
1.4.3 配置文件
1.4.4 模拟器运行
1.4.5 应用签名与真机运行
1.4.6 自动签名
1.4.7 应用程序的断点调试
1.4.8 HiLog 日志
1.5 本章小结
第 2 章 HarmonyOS 页面开发
2.1 组件与组件容器
2.1.1 Component
2.1.2 ComponentContainer
2.1.3 开发用户页面的方式
2.1.4 边距
2.2 常用布局
2.2.1 DirectionalLayout
2.2.2 DependentLayout
2.2.3 StackLayout
2.2.4 TableLayout
2.2.5 PositionLayout
2.2.6 AdaptiveBoxLayout
2.3 常用组件
2.3.1 Component
2.3.2 Text 和 TextField
2.3.3 Button
2.3.4 RadioButton 和 RadioContainer
2.3.5 Checkbox
2.3.6 Image
2.3.7 ProgressBar 和 RoundProgressBar
2.3.8 ToastDialog
2.4 常用的资源类型
2.4.1 资源目录
2.4.2 资源文件的使用
2.4.3 限定词目录
2.4.4 样式与样式选择
2.5 动画开发
2.5.1 帧动画
2.5.2 数值动画
2.5.3 属性动画
2.6 组件的事件监听
2.6.1 事件类别
2.6.2 事件监听的五种写法
2.7 本章小结
第 3 章 Ability 开发
3.1 Ability 概述
3.2 Page Ability
3.2.1 Page Ability 的创建
3.2.2 Page Ability 的生命周期
3.2.3 Page Ability 的导航
3.3 Service Ability
3.3.1 Service Ability 的创建
3.3.2 Service Ability 的生命周期
3.4 Ability 属性配置
3.4.1 Ability 的配置文件
3.4.2 Ability 的启动模式
3.5 Intent
3.5.1 Intent 对象的结构
3.5.2 Intent 对象的操作
3.6 本章小结
第 4 章 分布式通信
4.1 远程启动 FA
4.1.1 获取远程设备的信息
4.1.2 启动 FA
4.2 应用迁移
4.2.1 IAbilityContinuation 接口
4.2.2 应用迁移案例
4.2.3 IAbilityContinuation 接口的其他回调方法
4.3 应用回迁
4.4 跨设备启动服务
4.5 跨设备连接服务
4.6 跨设备服务调用
4.7 本章小结
第 5 章 数据管理
5.1 本地数据管理
5.1.1 关系型数据库与 SQLite
5.1.2 关系型数据库的操作
5.1.3 对象关系映射数据库
5.1.4 Preferences
5.2 分布式数据管理
5.2.1 分布式数据服务
5.2.2 分布式数据服务开发
5.3 分布式文件服务
5.3.1 分布式文件服务概述
5.3.2 分布式文件服务开发
5.4 Data Ability
5.4.1 Data Ability 概述
5.4.2 Data Ability 的创建
5.4.3 Data Ability 的文件访问
5.4.4 Data Ability 的数据库访问
5.5 本章小节
第 6 章 公共事件和通知
6.1 公共事件
6.1.1 公共事件发布
6.1.2 事件订阅
6.1.3 公共事件退订
6.2 通知
6.3 IntentAgent
6.3.1 IntentAgent 概述
6.3.2 IntentAgent 开发
6.4 本章小结
第 7 章 服务卡片与原子化服务
7.1 卡片
7.1.1 创建卡片
7.1.2 卡片的开发
7.2 原子化服务
7.2.1 原子化服务概述
7.2.2 原子化服务开发
7.3 本章小结
第 8 章 高级编程
8.1 ListContainer
8.1.1 ListContainer 的使用
8.1.2 ListContainer 的事件方法
8.2 ScrollView
8.2.1 ScrollView 的使用
8.2.2 ScrollView 的事件方法
8.3 PageSlider 与 PageSliderIndicator
8.3.1 PageSlider 的使用
8.3.2 PageSlider 的方法
8.3.3 PageSliderIndicator 的使用
8.3.4 PageSliderIndicator 的事件方法
8.4 WebView
8.4.1 WebView 的使用
8.4.2 WebView 的事件方法
8.5 Fraction
8.5.1 Fraction 概述
8.5.2 Fraction 的使用
8.6 本章小结
第 9 章 线程管理
9.1 线程管理开发
9.1.1 线程优先级
9.1.2 TaskDispatcher 开发
9.2 线程间通信
9.2.1 EventHandler 运行机制
9.2.2 线程间通信相关的对象
9.2.3 线程间通信开发
9.3 本章小结
评论