鸿蒙仓颉语言开发教程:仓颉语言中的状态存储

简介: 本期分享仓颉开发语言中的状态存储,重点介绍AppStorage与PersistentStorage。AppStorage为应用全局状态存储,支持存取、双向绑定及删除操作;PersistentStorage则实现数据持久化,适合存储基础类型数据。了解它们的使用方法,有助于高效管理应用状态。

大家好,今天来分享一下仓颉开发语言中的状态存储。主要介绍AppStorage和PersistentStorage两部分内容。

AppStorage

AppStorage是应用全局级的状态存储,可以在应用的任何地方随时使用。先介绍一下AppStorage的存储方法,有set和setOrCreate两种方式,区别是set只能设置已经创建了的字段的值,相当于修改值,而setOrCreate方法的作用是如果没有字段时会自动创建,所以我推荐大家使用setOrCreate方法。

let store1 = AppStorage.set('name', 'youlan');
let store2 =  AppStorage.setOrCreate('name', 'youlan');

取值时,建议大家先判断本地存储是否有该字段,使用has方法:

let hasValue:Bool = AppStorage.has('name')

当判断有值,就可以使用get方法取值,注意取值时要标明类型:

if(hasValue){
  let name = AppStorage.get<String>('name')
}

你还可以在取值代码后加上getOrThrow(),意思是取值或者抛出一个异常:

let name = AppStorage.get<String>('name').getOrThrow()

除了基础的存入和读取操作,你还可以使用link来双向绑定AppStorage中的数据,给大家演示一下:

let name1 = AppStorage.link<String>("name").getOrThrow()
let name2 = AppStorage.link<String>("name").getOrThrow()
name1.set('newname')

代码中name1和name2都双向绑定了AppStorage中的name字段,当name1的值修改时,name2也会同步修改为新的值newname。
最后介绍Appstorage删除数据的方法,可以使用delete删除某一个字段的数据,也可以使用clear方法清除所有数据:

AppStorage.delete('name')
AppStorage.clear()
PersistentStorage

PersistentStorage是在AppStorage的基础上,将数据保留在磁盘上来完成持久化。目前PersistentStorage支持的数据类型有Int64, Float64, String, Bool。另外,不建议大家使用PersistentStorage存储大量的数据,超过2kb的数据建议使用数据库。
PersistentStorage的存储方法有两种,persistProp可以存储单个数据,persistProps可以同时存储多个数据,比如以下代码:

PersistentStorage.persistProp("name", "fugui")
PersistentStorage.persistProp("age", "20")
PersistentStorage.persistProps([("name", "fugui"),("age", "20")])

既然PersistentStorage是在AppStorage的基础上持久化数据,所以PersistentStorage存储的内容是可以通过AppStorage来读取的,取值方法和上面一样。
最后再介绍一下PersistentStorage的删除方法:

PersistentStorage.deleteProp('name')

以上就是今天的分享内容,感谢阅读。##HarmonyOS语言##仓颉##购物#

相关文章
|
2月前
|
移动开发 前端开发 Android开发
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
304 12
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
2月前
|
移动开发 JavaScript 应用服务中间件
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
270 5
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
6月前
|
容器
HarmonyOS NEXT仓颉开发语言实战案例:外卖App
仓颉语言实战分享,教你如何用仓颉开发外卖App界面。内容包括页面布局、导航栏自定义、搜索框实现、列表模块构建等,附完整代码示例。轻松掌握Scroll、List等组件使用技巧,提升HarmonyOS应用开发能力。
|
2月前
|
移动开发 Rust JavaScript
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
631 4
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
5月前
|
安全 JavaScript API
鸿蒙开发核心要素
鸿蒙开发核心要素
|
6月前
|
存储 IDE 定位技术
【HarmonyOS 5】鸿蒙组件&模板服务详解 - 助力高效开发的利器
在移动应用开发领域,效率与质量始终是开发者追求的核心目标。鸿蒙系统作为新兴的操作系统,为开发者提供了丰富且强大的开发资源,其中鸿蒙组件&模板服务更是成为开发者快速构建高质量应用的得力助手。
233 0
HarmonyOS NEXT仓颉开发语言实战案例:电影App
周末好!本文分享使用仓颉语言重构ArkTS实现的电影App案例,对比两者在UI布局、组件写法及语法差异。内容包括页面结构、列表分组、分类切换与电影展示等。通过代码演示仓颉在HarmonyOS开发中的应用。##仓颉##ArkTS##HarmonyOS开发
|
6月前
|
容器
HarmonyOS NEXT仓颉开发语言实战案例:健身App
本期分享一个健身App首页的布局实现,顶部采用Stack容器实现重叠背景与偏移效果,列表部分使用List结合Scroll实现可滚动内容。代码结构清晰,适合学习HarmonyOS布局技巧。
HarmonyOS NEXT仓颉开发语言实战案例:小而美的旅行App
本文分享了一个旅行App首页的设计与实现,使用List容器搭配Row、Column布局完成个人信息、功能列表及推荐模块的排版,详细展示了HarmonyOS下的界面构建技巧。
|
2月前
|
移动开发 Android开发
【03】建立隐私关于等相关页面和内容-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【03】建立隐私关于等相关页面和内容-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
165 0

热门文章

最新文章