网站建设前期目标,在腾讯云怎样建设网站,全国免费自学网站,网站建设汇报方案ppt状态管理模块提供了应用程序的数据存储能力、持久化数据管理能力、UIAbility数据存储能力和应用程序需要的环境状态。 说明#xff1a; 本模块首批接口从API version 7开始支持#xff0c;后续版本的新增接口#xff0c;采用上角标单独标记接口的起始版本。 本文中T和S的含义…状态管理模块提供了应用程序的数据存储能力、持久化数据管理能力、UIAbility数据存储能力和应用程序需要的环境状态。 说明 本模块首批接口从API version 7开始支持后续版本的新增接口采用上角标单独标记接口的起始版本。 本文中T和S的含义如下
类型描述TClassnumberbooleanstring和这些类型的数组形式。Snumberbooleanstring。
AppStorage
AppStorage具体UI使用说明详见AppStorage(应用全局的UI状态存储)
link10
static link(propName: string): SubscribedAbstractProperty
与AppStorage中对应的propName建立双向数据绑定。如果给定的propName在AppStorage中存在返回与AppStorage中propName对应属性的双向绑定数据。
双向绑定数据的修改会同步回AppStorage中AppStorage会将变化同步到所有绑定该propName的数据和自定义组件中。
如果AppStorage中不存在propName则返回undefined。
参数
参数名类型必填参数描述propNamestring是AppStorage中的属性名。
返回值
类型描述SubscribedAbstractPropertyT返回双向绑定的数据如果AppStorage不存在对应的propName则返回undefined。
AppStorage.setOrCreate(PropA, 47);
let linkToPropA1:SubscribedAbstractPropertynumber AppStorage.link(PropA);
let linkToPropA2:SubscribedAbstractPropertynumber AppStorage.link(PropA); // linkToPropA2.get() 47
linkToPropA1.set(48); // 双向同步: linkToPropA1.get() linkToPropA2.get() 48
setAndLink10
static setAndLinkT(propName: string, defaultValue: T): SubscribedAbstractPropertyT
与Link接口类似如果给定的propName在AppStorage中存在则返回该propName对应的属性的双向绑定数据。如果不存在则使用defaultValue在AppStorage创建和初始化propName返回其双向绑定数据。
参数
参数名类型必填参数描述propNamestring是AppStorage中的属性名。defaultValueT是当propName在AppStorage中不存在使用defaultValue在AppStorage中初始化对应的propName。
返回值
类型描述SubscribedAbstractPropertyTSubscribedAbstractPropertyT的实例和AppStorage中propName对应属性的双向绑定的数据。
AppStorage.setOrCreate(PropA, 47);
let link1: SubscribedAbstractPropertynumber AppStorage.setAndLink(PropB, 49); // Create PropB 49
let link2: SubscribedAbstractPropertynumber AppStorage.setAndLink(PropA, 50); // PropA exists, remains 47
prop10
static propT(propName: string): SubscribedAbstractPropertyT
与AppStorage中对应的propName建立单向属性绑定。如果给定的propName在AppStorage中存在则返回与AppStorage中propName对应属性的单向绑定数据。如果AppStorage中不存在propName则返回undefined。单向绑定数据的修改不会被同步回AppStorage中。 说明 Prop仅支持简单类型。 参数
参数名类型必填参数描述propNamestring是AppStorage中的属性名。
返回值
类型描述SubscribedAbstractPropertyT返回单向绑定的数据如果AppStorage不存在对应的propName则返回undefined。
AppStorage.setOrCreate(PropA, 47);
let prop1: SubscribedAbstractPropertynumber AppStorage.prop(PropA);
let prop2: SubscribedAbstractPropertynumber AppStorage.prop(PropA);
prop1.set(1); // one-way sync: prop1.get()1; but prop2.get() 47
setAndProp10
static setAndPropT(propName: string, defaultValue: T): SubscribedAbstractPropertyT
与Prop接口类似。如果给定的propName在AppStorage存在则返回该propName对应的属性的单向绑定数据。如果不存在则使用defaultValue在AppStorage创建和初始化propName对应的属性返回其单向绑定数据。
参数
参数名类型必填参数描述propNamestring是AppStorage中的属性名。defaultValueT是当propName在AppStorage中不存在时使用default在AppStorage中初始化对应的propName。
返回值
类型描述SubscribedAbstractPropertyTSubscribedAbstractPropertyT的实例。
AppStorage.setOrCreate(PropA, 47);
let prop: SubscribedAbstractPropertynumber AppStorage.setAndProp(PropB, 49); // PropA - 47, PropB - 49
has10
static has(propName: string): boolean
判断propName对应的属性是否在AppStorage中存在。
参数
参数名类型必填参数描述propNamestring是AppStorage中的属性名。
返回值
类型描述boolean如果propName对应的属性在AppStorage中存在则返回true。不存在则返回false。
AppStorage.has(simpleProp);
get10
static getT(propName: string): T | undefined
获取propName在AppStorage中对应的属性。如果不存在返回undefined。
参数
参数名类型必填参数描述propNamestring是AppStorage中的属性名。
返回值
类型描述T | undefinedAppStorage中propName对应的属性如果不存在返回undefined。
AppStorage.setOrCreate(PropA, 47);
let value: number AppStorage.get(PropA) as number; // 47
set10
static setT(propName: string, newValue: T): boolean
在AppStorage中设置propName对应属性的值。如果newValue的值和propName对应属性的值相同即不需要做赋值操作状态变量不会通知UI刷新propName对应属性的值。
参数
参数名类型必填参数描述propNamestring是AppStorage中的属性名。newValueT是属性值不能为undefined或null。
返回值
类型描述boolean如果AppStorage不存在propName对应的属性或者设置的newValue是undefined或者null返回false。设置成功则返回true。
AppStorage.setOrCreate(PropA, 48);
let res: boolean AppStorage.set(PropA, 47) // true
let res1: boolean AppStorage.set(PropB, 47) // false
setOrCreate10
static setOrCreateT(propName: string, newValue: T): void
如果propName已经在AppStorage中存在并且newValue和propName对应属性的值不同则设置propName对应属性的值为newValue否则状态变量不会通知UI刷新propName对应属性的值。 如果propName不存在则创建propName属性值为newValue。setOrCreate只可以创建单个AppStorage的键值对如果想创建多个AppStrage键值对可以多次调用此方法。
参数
参数名类型必填参数描述propNamestring是AppStorage中的属性名。newValueT是属性值不能为undefined或null。
AppStorage.setOrCreate(simpleProp, 121);
delete10
static delete(propName: string): boolean
在AppStorage中删除propName对应的属性。
在AppStorage中删除该属性的前提是必须保证该属性没有订阅者。如果有订阅者则返回false。删除成功返回true。
属性的订阅者为Link、Prop等接口绑定的propName以及StorageLink(propName)和StorageProp(propName)。这就意味着如果自定义组件中使用StorageLink(propName)和StorageProp(propName)或者SubscribedAbstractProperty实例依旧对propName有同步关系则该属性不能从AppStorage中删除。
参数
参数名类型必填参数描述propNamestring是AppStorage中的属性名。
返回值
类型描述boolean如果AppStorage中有对应的属性且该属性已经没有订阅者则删除成功返回true。如果属性不存在或者该属性还存在订阅者则返回false。
AppStorage.setOrCreate(PropA, 47);
AppStorage.linknumber(PropA);
let res: boolean AppStorage.delete(PropA); // false, PropA still has a subscriberAppStorage.setOrCreate(PropB, 48);
let res1: boolean AppStorage.delete(PropB); // true, PropB is deleted from AppStorage successfully
keys10
static keys(): IterableIteratorstring
返回AppStorage中所有的属性名。
返回值
类型描述IterableIteratorstringAppStorage中所有的属性名。
AppStorage.setOrCreate(PropB, 48);
let keys: IterableIteratorstring AppStorage.keys();
clear10
static clear(): boolean
清除AppStorage的所有的属性。在AppStorage中清除所有属性的前提是已经没有任何订阅者。如果有则什么都不做返回false删除成功返回true。
订阅者的含义和参考Delete。
返回值
类型描述boolean如果AppStorage中的属性已经没有订阅者则清除成功返回true。否则返回false。
AppStorage.setOrCreate(PropA, 47);
let res: boolean AppStorage.clear(); // true, there are no subscribers
size10
static size(): number
返回AppStorage中的属性数量。
返回值
类型描述number返回AppStorage中属性的数量。
AppStorage.setOrCreate(PropB, 48);
let res: number AppStorage.size(); // 1
LocalStorage9
LocalStorage具体UI使用说明详见LocalStorage(页面级UI状态存储)
constructor9
constructor(initializingProperties?: Object)
创建一个新的LocalStorage实例。使用Object.keys(initializingProperties)返回的属性和其数值初始化LocalStorage实例。
从API version 9开始该接口支持在ArkTS卡片中使用。
参数
参数名类型必填参数描述initializingPropertiesObject否用initializingProperties包含的属性和数值初始化LocalStorage。initializingProperties不能为undefined。
let para:Recordstring,number { PropA: 47 };
let storage: LocalStorage new LocalStorage(para);
getShared10
static getShared(): LocalStorage
获取当前stage共享的LocalStorage实例。
从API version 9开始该接口支持在ArkTS卡片中使用。
**模型约束**此接口仅可在Stage模型下使用。
返回值
类型描述LocalStorage返回LocalStorage实例。
getShared具体使用见在UI页面通过getShared接口获取在通过loadContent共享的LocalStorage实例
has9
has(propName: string): boolean
判断propName对应的属性是否在LocalStorage中存在。
从API version 9开始该接口支持在ArkTS卡片中使用。
参数
参数名类型必填参数描述propNamestring是LocalStorage中的属性名。
返回值
类型描述boolean如果propName对应的属性在AppStorage中存在则返回true。不存在则返回false。
let para:Recordstring,number { PropA: 47 };
let storage: LocalStorage new LocalStorage(para);
storage.has(PropA); // true
get9
getT(propName: string): T | undefined
获取propName在LocalStorage中对应的属性。
从API version 9开始该接口支持在ArkTS卡片中使用。
参数
参数名类型必填参数描述propNamestring是LocalStorage中的属性名。
返回值
类型描述T | undefinedLocalStorage中propName对应的属性如果不存在返回undefined。
let para:Recordstring,number { PropA: 47 };
let storage: LocalStorage new LocalStorage(para);
let value: number storage.get(PropA) as number; // 47
set9
setT(propName: string, newValue: T): boolean
在LocalStorage中设置propName对应属性的值。如果newValue的值和propName对应属性的值相同即不需要做赋值操作状态变量不会通知UI刷新propName对应属性的值。
从API version 9开始该接口支持在ArkTS卡片中使用。
参数
参数名类型必填参数描述propNamestring是LocalStorage中的属性名。newValueT是属性值不能为undefined或者null。
返回值
类型描述boolean如果LocalStorage不存在propName对应的属性或者设置的newValue是undefined或者null返回false。设置成功返回true。
let para:Recordstring,number { PropA: 47 };
let storage: LocalStorage new LocalStorage(para);
let res: boolean storage.set(PropA, 47); // true
let res1: boolean storage.set(PropB, 47); // false
setOrCreate9
setOrCreateT(propName: string, newValue: T): boolean
如果propName已经在LocalStorage中存在并且newValue和propName对应属性的值不同则设置propName对应属性的值为newValue否则状态变量不会通知UI刷新propName对应属性的值。 如果propName不存在则创建propName属性值为newValue。setOrCreate只可以创建单个LocalStorage的键值对如果想创建多个LocalStorage键值对可以多次调用此方法。
从API version 9开始该接口支持在ArkTS卡片中使用。
参数
参数名类型必填参数描述propNamestring是LocalStorage中的属性名。newValueT是属性值不能为undefined或者null。
返回值
类型描述boolean如果设置的newValue是undefined或者null返回false。 如果LocalStorage存在propName则更新其值为newValue返回true。 如果LocalStorage不存在propName则创建propName并初始化其值为newValue返回true。
let para:Recordstring,number { PropA: 47 };
let storage: LocalStorage new LocalStorage(para);
let res: boolean storage.setOrCreate(PropA, 121); // true
let res1: boolean storage.setOrCreate(PropB, 111); // true
let res2: boolean storage.setOrCreate(PropB, null); // false
link9
linkT(propName: string): SubscribedAbstractPropertyT
如果给定的propName在LocalStorage实例中存在则返回与LocalStorage中propName对应属性的双向绑定数据。
双向绑定数据的修改会被同步回LocalStorage中LocalStorage会将变化同步到所有绑定该propName的数据和Component中。
如果LocalStorage中不存在propName则返回undefined。
从API version 9开始该接口支持在ArkTS卡片中使用。
参数
参数名类型必填参数描述propNamestring是LocalStorage中的属性名。
返回值
类型描述SubscribedAbstractPropertyTSubscribedAbstractPropertyT的实例如果AppStorage不存在对应的propName再返回undefined。
let para:Recordstring,number { PropA: 47 };
let storage: LocalStorage new LocalStorage(para);
let linkToPropA1: SubscribedAbstractPropertynumber storage.link(PropA);
let linkToPropA2: SubscribedAbstractPropertynumber storage.link(PropA); // linkToPropA2.get() 47
linkToPropA1.set(48); // 双向同步: linkToPropA1.get() linkToPropA2.get() 48
setAndLink9
setAndLinkT(propName: string, defaultValue: T): SubscribedAbstractPropertyT
与Link接口类似如果给定的propName在LocalStorage存在则返回该propName对应的属性的双向绑定数据。如果不存在则使用defaultValue在LocalStorage创建和初始化propName返回其双向绑定数据。
从API version 9开始该接口支持在ArkTS卡片中使用。
参数
参数名类型必填参数描述propNamestring是LocalStorage中的属性名。defaultValueT是当propName在LocalStorage中不存在使用default在LocalStorage中初始化对应的propName。
返回值
类型描述SubscribedAbstractPropertyTSubscribedAbstractPropertyT的实例如果AppStorage不存在对应的propName再返回undefined。
let para:Recordstring,number { PropA: 47 };
let storage: LocalStorage new LocalStorage(para);
let link1: SubscribedAbstractPropertynumber storage.setAndLink(PropB, 49); // Create PropB 49
let link2: SubscribedAbstractPropertynumber storage.setAndLink(PropA, 50); // PropA exists, remains 47
prop9
propS(propName: string): SubscribedAbstractPropertyS
如果给定的propName在LocalStorage存在则返回与LocalStorage中propName对应属性的单向绑定数据。如果LocalStorage中不存在propName则返回undefined。单向绑定数据的修改不会被同步回LocalStorage中。
从API version 9开始该接口支持在ArkTS卡片中使用。
参数
参数名类型必填参数描述propNamestring是LocalStorage中的属性名。
返回值
类型描述SubscribedAbstractPropertySSubscribedAbstractPropertyS的实例如果AppStorage不存在对应的propName在返回undefined。
let para:Recordstring,number { PropA: 47 };
let storage: LocalStorage new LocalStorage(para);
let prop1: SubscribedAbstractPropertynumber storage.prop(PropA);
let prop2: SubscribedAbstractPropertynumber storage.prop(PropA);
prop1.set(1); // one-way sync: prop1.get()1; but prop2.get() 47
setAndProp9
setAndPropS(propName: string, defaultValue: S): SubscribedAbstractPropertyS
propName在LocalStorage存在则返回该propName对应的属性的单向绑定数据。如果不存在则使用defaultValue在LocalStorage创建和初始化propName对应的属性返回其单向绑定数据。
从API version 9开始该接口支持在ArkTS卡片中使用。
参数
参数名类型必填参数描述propNamestring是LocalStorage中的属性名。defaultValueS是当propName在AppStorage中不存在使用default在AppStorage中初始化对应的propName。
返回值
类型描述SubscribedAbstractPropertySSubscribedAbstractPropertyS的实例和AppStorage中propName对应属性的单向绑定的数据。
let para:Recordstring,number { PropA: 47 };
let storage: LocalStorage new LocalStorage(para);
let prop: SubscribedAbstractPropertynumber storage.setAndProp(PropB, 49); // PropA - 47, PropB - 49
delete9
delete(propName: string): boolean
在LocalStorage中删除propName对应的属性。删除属性的前提是该属性已经没有订阅者如果有则返回false。删除成功则返回true。
属性的订阅者是linkprop接口绑定的propName以及LocalStorageLink(propName)和LocalStorageProp(propName)。如果自定义组件Component中使用或者SubscribedAbstractPropertylink和prop接口的返回类型依旧有同步关系则该属性不能从LocalStorage中删除。
从API version 9开始该接口支持在ArkTS卡片中使用。
参数
参数名类型必填参数描述propNamestring是LocalStorage中的属性名。
返回值
类型描述boolean如果LocalStorage中有对应的属性且该属性已经没有订阅者则删除成功返回true。如果属性不存在或者该属性还存在订阅者则返回false。
let para:Recordstring,number { PropA: 47 };
let storage: LocalStorage new LocalStorage(para);
storage.linknumber(PropA);
let res: boolean storage.delete(PropA); // false, PropA still has a subscriber
let res1: boolean storage.delete(PropB); // false, PropB is not in storage
storage.setOrCreate(PropB, 48);
let res2: boolean storage.delete(PropB); // true, PropB is deleted from storage successfully
keys9
keys(): IterableIteratorstring
返回AppStorage中所有的属性名。
从API version 9开始该接口支持在ArkTS卡片中使用。
返回值
类型描述IterableIteratorstringLocalStorage中所有的属性名。
let para:Recordstring,number { PropA: 47 };
let storage: LocalStorage new LocalStorage(para);
let keys: IterableIteratorstring storage.keys();
size9
size(): number
返回LocalStorage中的属性数量。
从API version 9开始该接口支持在ArkTS卡片中使用。
返回值
类型描述number返回键值对的数量。
let para:Recordstring,number { PropA: 47 };
let storage: LocalStorage new LocalStorage(para);
let res: number storage.size(); // 1
clear9
clear(): boolean
清除LocalStorage的所有的属性。在LocalStorage中清除所有属性的前提是已经没有任何订阅者。如果有则返回false清除成功返回true。
从API version 9开始该接口支持在ArkTS卡片中使用。
返回值
类型描述boolean如果LocalStorage中的属性已经没有任何订阅者则清除成功返回true。否则返回false。
let para:Recordstring,number { PropA: 47 };
let storage: LocalStorage new LocalStorage(para);
let res: boolean storage.clear(); // true, there are no subscribers
SubscribedAbstractProperty
get9
abstract get(): T
读取从AppStorage/LocalStorage同步属性的数据。
从API version 9开始该接口支持在ArkTS卡片中使用。
返回值
类型描述TAppStorage/LocalStorage同步属性的数据。
AppStorage.SetOrCreate(PropA, 47);
let prop1:SubscribedAbstractPropertynumber AppStorage.Prop(PropA);
prop1.get(); // prop1.get()47
set9
abstract set(newValue: T): void
设置AppStorage/LocalStorage同步属性的数据。
从API version 9开始该接口支持在ArkTS卡片中使用。
参数
参数名类型必填参数描述newValueT是要设置的数据。
AppStorage.SetOrCreate(PropA, 47);
let prop1:SubscribedAbstractPropertynumber AppStorage.Prop(PropA);
prop1.set(1); // prop1.get()1
aboutToBeDeleted10
abstract aboutToBeDeleted(): void
取消SubscribedAbstractProperty实例对AppStorage/LocalStorage单/双向同步关系。
AppStorage.SetOrCreate(PropA, 47);
let link AppStorage.SetAndLink(PropB, 49); // PropA - 47, PropB - 49
link.aboutToBeDeleted();
link.set(50); // PropB - 49, link.get() -- undefined
PersistentStorage
PersistentStorage具体UI使用说明详见PersistentStorage(持久化存储UI状态)
PersistPropsOptions
参数名类型必填参数描述keystring是属性名。defaultValuenumber|string|boolean是在PersistentStorage和AppStorage未查询到时则使用默认值初始化初始化它。不允许为undefined和null。
persistProp10
static persistPropT(key: string, defaultValue: T): void
将AppStorage中key对应的属性持久化到文件中。该接口的调用通常在访问AppStorage之前。
确定属性的类型和值的顺序如下 如果PersistentStorage文件中存在key对应的属性在AppStorage中创建对应的propName并用在PersistentStorage中找到的key的属性初始化。 如果PersistentStorage文件中没有查询到key对应的属性则在AppStorage中查找key对应的属性。如果找到key对应的属性则将该属性持久化。 如果AppStorage也没查找到key对应的属性则在AppStorage中创建key对应的属性。用defaultValue初始化其值并将该属性持久化。
根据上述的初始化流程如果AppStorage中有该属性则会使用其值覆盖掉PersistentStorage文件中的值。由于AppStorage是内存内数据该行为会导致数据丧失持久化能力。
参数
参数名类型必填参数描述keystring是属性名。defaultValueT是在PersistentStorage和AppStorage未查询到时则使用默认值初始化初始化它。不允许为undefined和null。
示例
persistProp具体使用见从AppStorage中访问PersistentStorage初始化的属性
deleteProp10
static deleteProp(key: string): void
PersistProp的逆向操作。将key对应的属性从PersistentStorage删除后续AppStorage的操作对PersistentStorage不会再有影响。
参数
参数名类型必填参数描述keystring是PersistentStorage中的属性名。
PersistentStorage.deleteProp(highScore);
persistProps10
static persistProps(props: PersistPropsOptions[]): void
行为和PersistProp类似不同在于可以一次性持久化多个数据适合在应用启动的时候初始化。
参数
参数名类型必填参数描述propsPersistPropsOptions[]是持久化数组。
PersistentStorage.persistProps([{ key: highScore, defaultValue: 0 }, { key: wightScore, defaultValue: 1 }]);
keys10
static keys(): Arraystring
返回所有持久化属性的key的数组。
返回值
类型描述Arraystring返回所有持久化属性的key的数组。
let keys: Arraystring PersistentStorage.keys();
Environment
Environment具体使用说明详见Environment(设备环境查询)
EnvPropsOptions
参数名类型必填参数描述keystring是环境变量名称支持的范围详见内置环境变量说明。defaultValuenumber|string|boolean是查询不到环境变量key则使用defaultValue作为默认值存入AppStorage中。
envProp10
static envPropS(key: string, value: S): boolean
将Environment的内置环境变量key存入AppStorage中。如果系统中未查询到Environment环境变量key的值则使用默认值value存入成功返回true。如果AppStorage已经有对应的key则返回false。
所以建议在程序启动的时候调用该接口。
在没有调用EnvProp就使用AppStorage读取环境变量是错误的。
参数
参数名类型必填参数描述keystring是环境变量名称支持的范围详见内置环境变量说明。valueS是查询不到环境变量key则使用value作为默认值存入AppStorage中。
返回值
类型描述boolean如果key对应的属性在AppStorage中存在则返回false。不存在则在AppStorage中创建key对应的属性返回true。
示例
EnvProp具体使用见从UI中访问Environment参数
envProps10
static envProps(props: EnvPropsOptions[]): void
和EnvProp类似不同点在于参数为数组可以一次性初始化多个数据。建议在应用启动时调用将系统环境变量批量存入AppStorage中。
参数
参数名类型必填参数描述propsEnvPropsOptions[]是系统环境变量和默认值的键值对的数组。
Environment.envProps([{ key: accessibilityEnabled, defaultValue: default }, {key: languageCode,defaultValue: en
}, { key: prop, defaultValue: hhhh }]);
keys10
static keys(): Arraystring
返回环境变量的属性key的数组。
返回值
类型描述Arraystring返回关联的系统项数组。
Environment.envProps([{ key: accessibilityEnabled, defaultValue: default }, {key: languageCode,defaultValue: en
}, { key: prop, defaultValue: hhhh }]);let keys: Arraystring Environment.keys(); // accessibilityEnabled, languageCode, prop
内置环境变量说明
key类型说明accessibilityEnabledstring无障碍屏幕朗读是否启用。colorModeColorMode深浅色模式可选值为 - ColorMode.LIGHT浅色模式 - ColorMode.DARK深色模式。fontScalenumber字体大小比例。fontWeightScalenumber字重比例。layoutDirectionLayoutDirection布局方向类型可选值为 - LayoutDirection.LTR从左到右 - LayoutDirection.RTL从右到左。languageCodestring当前系统语言小写字母例如zh。
最后
有很多小伙伴不知道学习哪些鸿蒙开发技术不知道需要重点掌握哪些鸿蒙应用开发知识点而且学习时频繁踩坑最终浪费大量时间。所以有一份实用的鸿蒙HarmonyOS NEXT资料用来跟着学习是非常有必要的。
这份鸿蒙HarmonyOS NEXT资料包含了鸿蒙开发必掌握的核心知识要点内容包含了ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等鸿蒙HarmonyOS NEXT技术知识点。
希望这一份鸿蒙学习资料能够给大家带来帮助有需要的小伙伴自行领取限时开源先到先得~无套路领取
获取这份完整版高清学习路线请点击→纯血版全套鸿蒙HarmonyOS学习资料
鸿蒙HarmonyOS NEXT最新学习路线 HarmonOS基础技能 HarmonOS就业必备技能 HarmonOS多媒体技术 鸿蒙NaPi组件进阶 HarmonOS高级技能 初识HarmonOS内核 实战就业级设备开发 有了路线图怎么能没有学习资料呢小编也准备了一份联合鸿蒙官方发布笔记整理收纳的一套系统性的鸿蒙OpenHarmony 学习手册共计1236页与鸿蒙OpenHarmony 开发入门教学视频内容包含ArkTS、ArkUI、Web开发、应用模型、资源分类…等知识点。
获取以上完整版高清学习路线请点击→纯血版全套鸿蒙HarmonyOS学习资料
《鸿蒙 (OpenHarmony)开发入门教学视频》 《鸿蒙生态应用开发V2.0白皮书》 《鸿蒙 (OpenHarmony)开发基础到实战手册》
OpenHarmony北向、南向开发环境搭建 《鸿蒙开发基础》
ArkTS语言安装DevEco Studio运用你的第一个ArkTS应用ArkUI声明式UI开发.…… 《鸿蒙开发进阶》
Stage模型入门网络管理数据管理电话服务分布式应用开发通知与窗口管理多媒体技术安全技能任务管理WebGL国际化开发应用测试DFX面向未来设计鸿蒙系统移植和裁剪定制…… 《鸿蒙进阶实战》
ArkTS实践UIAbility应用网络案例…… 获取以上完整鸿蒙HarmonyOS学习资料请点击→纯血版全套鸿蒙HarmonyOS学习资料
总结
总的来说华为鸿蒙不再兼容安卓对中年程序员来说是一个挑战也是一个机会。只有积极应对变化不断学习和提升自己他们才能在这个变革的时代中立于不败之地。