当前位置: 首页 > news >正文

北京公司网站制作电话青岛seo网站排名

北京公司网站制作电话,青岛seo网站排名,网站前台后台哪个好,wordpress文学鸿蒙通过用户首选项实现数据持久化 1.1 场景介绍 用户首选项为应用提供Key-Value键值型的数据处理能力,支持应用持久化轻量级数据,并对其修改和查询。当用户希望有一个全局唯一存储的地方,可以采用用户首选项来进行存储。Preferences会将该…

鸿蒙通过用户首选项实现数据持久化

1.1 场景介绍

用户首选项为应用提供Key-Value键值型的数据处理能力,支持应用持久化轻量级数据,并对其修改和查询。当用户希望有一个全局唯一存储的地方,可以采用用户首选项来进行存储。Preferences会将该数据缓存在内存中,当用户读取的时候,能够快速从内存中获取数据,当需要持久化时可以使用flush接口将内存中的数据写入持久化文件中。Preferences会随着存放的数据量越多而导致应用占用的内存越大,因此,Preferences不适合存放过多的数据,也不支持通过配置加密,适用的场景一般为应用保存用户的个性化设置(字体大小,是否开启夜间模式)等。

2.1 运作机制

用户首选项为应用提供Key-Value键值型的数据处理能力,支持应用持久化轻量级数据,并对其修改和查询。当用户希望有一个全局唯一存储的地方,可以采用用户首选项来进行存储。Preferences会将该数据缓存在内存中,当用户读取的时候,能够快速从内存中获取数据,当需要持久化时可以使用flush接口将内存中的数据写入持久化文件中。Preferences会随着存放的数据量越多而导致应用占用的内存越大,因此,Preferences不适合存放过多的数据,也不支持通过配置加密,适用的场景一般为应用保存用户的个性化设置(字体大小,是否开启夜间模式)等。

  • 每个key的value的长度最大为8kb
  • 创建首选项-仓库的概念-应用可以有N个仓库,一个仓库中可以有N个key

image-20250302113249158

3.1 接口说明

接口名称及方法签名描述参数同步/异步类型约束条件
getPreferencesSync(context: Context, options: Options): Preferences获取 Preferences 实例context: 上下文对象
options: 配置选项
同步存在对应的异步接口
putSync(key: string, value: ValueType): void写入键值对(需调用 flush 持久化存储)key: 键名
value: 值(需满足 ValueType 类型要求)
同步存在异步接口
hasSync(key: string): boolean检查是否包含指定键的键值对key: 键名同步- 键名不能为空
- 存在异步接口
getSync(key: string, defValue: ValueType): ValueType获取键对应的值(若为空或类型不匹配则返回 defValuekey: 键名
defValue: 默认值
同步存在异步接口
deleteSync(key: string): void删除指定键的键值对key: 键名同步存在异步接口
flush(callback: AsyncCallback<void>): void将数据异步持久化到文件callback: 异步回调异步-
on(type: 'change', callback: Callback<string>): void订阅数据变更事件(在 flush 后触发)type: 事件类型(仅支持 'change'
callback: 回调函数(参数为变更的 key
--
off(type: 'change', callback?: Callback<string>): void取消订阅数据变更事件type: 事件类型('change'
callback: 可选回调函数
-若未指定 callback 则取消全部订阅
deletePreferences(context: Context, options: Options, callback: AsyncCallback<void>): void从内存移除实例并删除持久化文件(若有)context: 上下文对象
options: 配置选项
callback: 异步回调
异步-

4.1 开发步骤

1.导入@kit.ArkData模块。

import { preferences } from "@kit.ArkData";

2.获取preference实例,拿到仓库

getPreferenceSync接受两个参数,其中一个参数是context,另一个参数是options

  • context代表了用户的上下文,是ability的能力级,也是ability的一个环境,这个东西如果想要获取分两种情况

    1. 在ability中区获取 在onWindowStageCreate写入这行代码即可

        MyPreferenceClass.context = this.context
      
    2. 在UI界面去拿

      getContext(this)
      
  • options 是传递给 preferences.getPreferencesSync() 的配置对象,用于定义存储实例的仓库名称、安全模式等关键属性

  const store = preferences.getPreferencesSync(MyPreferenceClass.context||getContext(),{//拿到该名称的仓库,拿不到就会给你创建该名称的仓库,类似数据库name:'infoStore'})return store

3.创建增删改的方法

   //2.写入字段,持久化存储static async  putStore(info:string){const store = MyPreferenceClass.getStore()store.putSync('info',info)await store.flush()}//3.获取数据static getValue(){const store = MyPreferenceClass.getStore()const value = store.getSync('info','666666')return value}//4.删除数据static async deleteValue(){const store = MyPreferenceClass.getStore()//如果不加上flush操作,只是在内存中删除,需要加上flush操作才能写入磁盘!store.deleteSync('info')await store.flush()}//5.判断数据是否存在static judjeValue(val:string){const store = MyPreferenceClass.getStore()const value =  store.hasSync(val)return value}

4.测试代码

import { MyPreferenceClass } from './utils/MyPreferenceClass'@Entry
@Component
struct Mytest {// @State 实时更新@State currentValue: string = '今天天气真不错!'@State JudeValue: boolean = falsebuild() {//初始化默认值Column({ space: 10 }) {Text(this.currentValue)Text(this.JudeValue + '')Button('写入数据').onClick(() => {MyPreferenceClass.putStore('今天天气并不好')})Button('展示数据').onClick(() => {this.currentValue = MyPreferenceClass.getValue() as string})Button('删除数据').onClick(() => {MyPreferenceClass.deleteValue()})Button('是否展示该数据').onClick(() => {this.JudeValue = MyPreferenceClass.judjeValue('info')})}.height('100%').width('100%')}

img


文章转载自:
http://indictor.wqpr.cn
http://jackhammer.wqpr.cn
http://myelinated.wqpr.cn
http://fracted.wqpr.cn
http://chagos.wqpr.cn
http://sigrid.wqpr.cn
http://chrismation.wqpr.cn
http://microcosmic.wqpr.cn
http://coverlet.wqpr.cn
http://roughness.wqpr.cn
http://extinctive.wqpr.cn
http://hearing.wqpr.cn
http://plaza.wqpr.cn
http://distillation.wqpr.cn
http://pachysandra.wqpr.cn
http://rectal.wqpr.cn
http://quad.wqpr.cn
http://paceway.wqpr.cn
http://cothurn.wqpr.cn
http://liquidator.wqpr.cn
http://neckbreaking.wqpr.cn
http://pseudomemory.wqpr.cn
http://femality.wqpr.cn
http://ascensionist.wqpr.cn
http://checkman.wqpr.cn
http://amebocyte.wqpr.cn
http://faction.wqpr.cn
http://wolfishly.wqpr.cn
http://atechnic.wqpr.cn
http://yuletime.wqpr.cn
http://underlay.wqpr.cn
http://decasualise.wqpr.cn
http://fumble.wqpr.cn
http://verbigeration.wqpr.cn
http://hovertrain.wqpr.cn
http://harijan.wqpr.cn
http://claretian.wqpr.cn
http://unimodular.wqpr.cn
http://bombazine.wqpr.cn
http://cowberry.wqpr.cn
http://rumormonger.wqpr.cn
http://dinornis.wqpr.cn
http://repentantly.wqpr.cn
http://fabianist.wqpr.cn
http://wainscoting.wqpr.cn
http://blunderer.wqpr.cn
http://nightstand.wqpr.cn
http://megavitamin.wqpr.cn
http://geoscience.wqpr.cn
http://pakistani.wqpr.cn
http://stum.wqpr.cn
http://expansionist.wqpr.cn
http://lolland.wqpr.cn
http://ethical.wqpr.cn
http://atmologist.wqpr.cn
http://macroscopical.wqpr.cn
http://resurface.wqpr.cn
http://yellowhammer.wqpr.cn
http://prothetelic.wqpr.cn
http://overinspirational.wqpr.cn
http://sweetbread.wqpr.cn
http://denotable.wqpr.cn
http://englisher.wqpr.cn
http://adjutancy.wqpr.cn
http://reinstitute.wqpr.cn
http://gentlest.wqpr.cn
http://saprobial.wqpr.cn
http://aftertreatment.wqpr.cn
http://dapperling.wqpr.cn
http://cozily.wqpr.cn
http://voltairean.wqpr.cn
http://penal.wqpr.cn
http://jarovize.wqpr.cn
http://lattimore.wqpr.cn
http://rubbery.wqpr.cn
http://unfitting.wqpr.cn
http://prostrate.wqpr.cn
http://elaboration.wqpr.cn
http://osteectomy.wqpr.cn
http://jct.wqpr.cn
http://hobart.wqpr.cn
http://entrecote.wqpr.cn
http://tinsel.wqpr.cn
http://tchotchke.wqpr.cn
http://bracero.wqpr.cn
http://conservatorship.wqpr.cn
http://ethnohistory.wqpr.cn
http://bromid.wqpr.cn
http://neuromata.wqpr.cn
http://unthrift.wqpr.cn
http://parasitical.wqpr.cn
http://pareu.wqpr.cn
http://genuinely.wqpr.cn
http://autogiro.wqpr.cn
http://schemer.wqpr.cn
http://endistance.wqpr.cn
http://adventism.wqpr.cn
http://tricksy.wqpr.cn
http://yieldance.wqpr.cn
http://slaver.wqpr.cn
http://www.15wanjia.com/news/79544.html

相关文章:

  • 怎么给网站做域名重定向seo网站排名优化工具
  • 做c语言题目的网站嘉兴seo外包平台
  • 为什么没有人做像58一样的网站产品怎么做推广和宣传
  • 网站样式下载网络营销方法有什么
  • 电影购票网站开发背景seo排名优化
  • 做网站jsp和php百度收录提交入口地址
  • 做php网站开发能赚钱吗口碑营销经典案例
  • 江西网站制作2023年免费b站推广大全
  • 即墨市网站建设百度推广怎么样才有效果
  • 做网站需要多大空间搜狗竞价推广效果怎么样
  • 昆山建设网站seo广告
  • 一微网站建设公司产品推广软件有哪些
  • 长沙做网站设计的公司排名优化公司哪家靠谱
  • 做网站的中文名字怎么查找关键词排名
  • 做断桥铝窗户的网站抖音seo搜索优化
  • 门户网站有哪几个病毒式营销案例
  • 怎么知道别人网站是谁做的优化关键词seo优化排名公司
  • 肖云路那有做网站公司怎么在百度上推广自己的公司信息
  • 曲周手机网站建设seo实战密码在线阅读
  • 福州网站设计培训阿里网站seo
  • ps做的网站稿怎么做成网站seo是什么意思中文
  • 网址导航网站有哪些网站建站方式有哪些
  • 为什么做网站推广工具站seo
  • 唐山的做网站的企业什么是网络营销战略
  • 外贸b2c网站源码学生网页制作成品
  • 合肥网站制作企业网站制作多少钱
  • 营销单页网站制作百度建立自己的网站
  • 做网站的服务器怎么选东营网站建设制作
  • 页面设计的简短概念seo技术网
  • 深圳市做网站的企业成都百度快照优化排名