鸿蒙(HarmonyOS)学习路线总结

201 阅读5分钟

自学了鸿蒙开发,花了大概2个月的时间我自己的App「生日助手」上架了,于是把我的学习内容跟方法分享一下。

鸿蒙开发生态语言 - ArkTS

ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS围绕应用开发在TypeScript(简称TS)生态基础上做了进一步扩展,保持了TS的基本风格,同时通过规范定义强化开发期静态检查和分析,提升程序执行稳定性和性能。

TypeScript语言基础

1).TypeScript基本数据类型与表达式,分支循环、函数

2).面向对象的抽象,封装,继承,多态,类与对象,对象初始化和回收;构造函数、this关键字、方法和方法的参数传递过程、static关键字。

3).对象实例化过程、方法的覆盖、readonly关键字、抽象类、接口、继承的优点和缺点剖析;对象的多态性:子类和父类之间的转换、抽象类和接口在多态中的应用、多态带来的好处。

4).TypeScript异常处理,异常的机制原理。

5).常用的设计模式:单例模式(Singleton Pattern)、工厂模式(Factory Pattern)、策略模式(Strategy Pattern)等。

6).API介绍:基本数据类型包装类,Date等。

7).数组(Array)、键值对(Map)。

8).高级特性:泛型、命名空间、模块、Promise处理异步操作。

ArkUI组件

参考:developer.huawei.com/consumer/cn…

1).基础组件

AlphabetIndexer 可实现联系人列表分组索引效果

Blank 空白填充组件,在容器主轴方向上,空白填充组件具有自动填充容器空余部分的能力。仅当父组件为Row/Column/Flex时生效

Button 按钮组件,可快速创建不同样式的按钮

Checkbox 多选框组件,通常用于某选项的打开或关闭

CheckboxGroup 多选框群组,用于控制多选框全选或者不全选状态

DataPanel 数据面板组件,用于将多个数据占比情况使用占比图进行展示

DatePicker 日期选择器组件,用于根据指定日期范围创建日期滑动选择器

Divider 提供分隔器组件,分隔不同内容块/内容元素

Image 图片组件,常用于在应用中显示图片。Image支持加载string、PixelMap和Resource类型的数据源,支持png、jpg、bmp、svg和gif类型的图片格式。

ImageAnimator 提供帧动画组件来实现逐帧播放图片的能力,可以配置需要播放的图片列表,每张图片可以配置时长。

LoadingProgress 用于显示加载动效的组件

Marquee 跑马灯组件,用于滚动展示一段单行文本,仅当文本内容宽度超过跑马灯组件宽度时滚动。 Menu 以垂直列表形式显示的菜单。

MenuItem 用来展示菜单Menu中具体的item菜单项。

ScrollBar 滚动条组件ScrollBar,用于配合可滚动组件使用,如List、Grid、Scroll

Text 显示一段文本的组件。

TextInput 单行文本输入框组件。

Web 提供具有网页显示能力的Web组件,@ohos.web.webview提供web控制能力。

2).容器组件

Column 沿垂直方向布局的容器

Row 沿水平方向布局容器。

Counter 计数器组件,提供相应的增加或者减少的计数操作

Flex 以弹性方式布局子组件的容器组件,可实现流式布局

Grid 网格容器,由“行”和“列”分割的单元格所组成,通过指定“项目”所在的单元格做出各种各样的布局。

List 列表包含一系列相同宽度的列表项。适合连续、多行呈现同类数据,例如图片和文本。

Refresh 可以进行页面下拉操作并显示刷新动效的容器组件。

Scroll 可滚动的容器组件,当子组件的布局尺寸超过父组件的尺寸时,内容可以滚动。

Swiper 滑块视图容器,提供子组件滑动轮播显示的能力

Tabs 通过页签进行内容视图切换的容器组件,每个页签对应一个内容视图。

WaterFlow 瀑布流容器,由“行”和“列”分割的单元格所组成,通过容器自身的排列规则,将不同大小的“项目”自上而下,如瀑布般紧密布局。

3).媒体组件

Video 用于播放视频文件并控制其播放状态的组件

ArkTS状态管理

参考:developer.huawei.com/consumer/cn…

@State装饰器:组件内状态

@Prop装饰器:父子单向同步

@Link装饰器:父子双向同步

@Provide装饰器和@Consume装饰器:与后代组件双向同步

@Observed装饰器和@ObjectLink装饰器:嵌套类对象属性变化

LocalStorage:页面级UI状态存储,通过@Entry装饰器接收的参数可以在页面内共享同一个LocalStorage实例。LocalStorage也可以在UIAbility实例内,在页面间共享状态。

AppStorage:应用全局的UI状态存储,是和应用的进程绑定的,由UI框架在应用程序启动时创建,为应用程序UI状态属性提供中央存储。

HarmonyOS基础服务API

参考:developer.huawei.com/consumer/cn…

SD卡公共目录:@ohos.file.environment

文件管理,文件流式读写、基础文件操作:@ohos.file.fs

通过文件path获取文件文件统一资源标志符(Uniform Resource Identifier,URI):@ohos.file.fileuri

文件分享:@ohos.fileshare

使用Picker选择媒体库资源:@kit.MediaLibraryKit

联系人(通讯录)管理:@kit.ContactsKit

Environment:设备环境查询

HarmonyOS进阶

网络编程

参考:developer.huawei.com/consumer/cn…

网络连接管理:@ohos.net.connection 网络请求:@ohos.net.http Socket连接:@ohos.net.socket

应用数据持久化

参考:developer.huawei.com/consumer/cn…

用户首选项(Preferences):通常用于保存应用的配置信息。数据通过文本的形式保存在设备中,应用使用过程中会将文本中的数据全量加载到内存中,所以访问速度快、效率高,但不适合需要存储大量数据的场景。

关系型数据库(RelationalStore):一种关系型数据库,以行和列的形式存储数据,广泛用于应用中的关系型数据的处理,包括一系列的增、删、改、查等接口,开发者也可以运行自己定义的SQL语句来满足复杂业务场景的需要。

结语

以上的内容都简单过了一遍,去开发者学堂把相关基础视频看一遍,就能做项目了,边做边学

developer.huawei.com/consumer/cn…