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

网做网站wordpress怎么改密码忘记

网做网站,wordpress怎么改密码忘记,wordpress有赞,app软件开发的工具介绍文章目录 数据持久化简述基本使用与封装测试用例参考 数据持久化简述 数据持久化就是将内存数据通过文件或者数据库的方式保存到设备中。HarmonyOS提供两两种持久化方案#xff1a; Preferences#xff1a;主要用于保存一些配置信息#xff0c;是通过文本的形式存储的 Preferences主要用于保存一些配置信息是通过文本的形式存储的在使用中会将文本中的数据全量加载到内存中不太适合存储大量数据的场景。数据库分为两种一种是非关系型数据库数据是键值对的形式存储另外一种事关系型数据库数据是行和列的形式存储提供一个系列的增删改查等SQL操作适合数据复杂的场景比如聊天会话记录等等。 基本使用与封装 Preferences提供了获取实例、读、取、删对应操作的方法 getPreferences(context,name)获取Preferences实例name是存储的文件名get(k)通过key获取value值getAll()获取文件所有的值put(k,v)添加值同一个key会将之前的值覆盖掉需要通过flush()刷新到文件中delete(k)通过key删除对应的value值clear()删除所有的存储值。 注意以上方法都是异步的。 通常会在EntryAbility#onCreate()方法中创建实例其中context便是EntryAbility的上下文获取preferences 实例就可以对数据增删改查操作。 // 导入包 import dataPreferences from ohos.data.preferences // 获取实例 let preferences dataPreferences.getPreferences(context, this.preferencesName)下面对preferences 进行封装基本思路 在获取preferences实例后会将其保存单例中这个单例是GlobalContext方便后期可以通过单例直接获取实例由于get()返回值类型是不确定性定义一个联合类型的别名ValueType 来接收。 const TAG PreferencesUtils // 默认文件名可以在构造函数进行修改 const PREFERENCES_NAME yiPreferences const KEY_PREFERENCES preferences type ValueType number | string | boolean | Arraynumber | Arraystring | Arrayboolean;export class PreferencesUtils{// preferences的文件名private preferencesName: string PREFERENCES_NAME// 用于获取preferences实例的key值保存到单例中private keyPreferences: string KEY_PREFERENCESconstructor(name: string PREFERENCES_NAME, keyP: string KEY_PREFERENCES) {this.preferencesName namethis.keyPreferences keyP}createPreferences(context: Context): PromisedataPreferences.Preferences {let preferences dataPreferences.getPreferences(context, this.preferencesName)GlobalContext.getContext().setObject(this.keyPreferences, preferences)return preferences}getPreferences(): PromisedataPreferences.Preferences {return GlobalContext.getContext().getObject(KEY_PREFERENCES) as PromisedataPreferences.Preferences}async get(key: string, def?: ValueType): PromiseValueType {return (await this.getPreferences()).get(key, def)}async getAll(): PromiseObject {let preferences await this.getPreferences()return preferences.getAll()}async put(key: string, value: ValueType): Promisevoid {let promise await this.getPreferences().then(async (p) {await p.put(key, value)p.flush();}).catch((err){Logger.d(TAG, err)})return promise}async delete(key: string): Promisevoid {return (await this.getPreferences()).delete(key)}async clear(): Promisevoid {return (await this.getPreferences()).clear()}}export default new PreferencesUtils()在EntryAbility#onCreate()方法初始化 export default class EntryAbility extends UIAbility {onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {PreferencesUtils.createPreferences(this.context)} } GlobalContext export default class GlobalContext {private constructor() { }private static instance: GlobalContext;private _objects new Mapstring, Object();public static getContext(): GlobalContext {if (!GlobalContext.instance) {GlobalContext.instance new GlobalContext();}return GlobalContext.instance;}getObject(value: string): Object | undefined {return this._objects.get(value);}setObject(key: string, objectClass: Object): void {this._objects.set(key, objectClass);} }测试用例 通过异步async 和await来直接获取操作结果也可以在then方法回调中获取结果。 Component Entry struct PreferencesPage {State text: string aboutToAppear() {PreferencesUtils.put(username, Harden)PreferencesUtils.put(age, 28)PreferencesUtils.put(isStaff, true)}build() {Column() {Text(this.text).width(100%).height(60)Row() {Button(get).onClick(async () {this.text await PreferencesUtils.get(username) as string})Button(getAll).onClick(async () {this.getAll()})Button(put).onClick(async () {await PreferencesUtils.put(username, Kobe)await PreferencesUtils.put(age, 28)await PreferencesUtils.put(isStaff, false)this.getAll()})Button(delete).onClick(async () {await PreferencesUtils.delete(isStaff)this.getAll()})Button(clear).onClick(async () {await PreferencesUtils.clear()this.getAll()})}.width(100%).justifyContent(FlexAlign.Center)}}async getAll() {let v await PreferencesUtils.getAll() as Objectthis.text JSON.stringify(v)} } 参考 https://developer.huawei.com/consumer/cn/training/course/slightMooc/C101667367018821971?ha_linkereyJ0cyI6MTcwMjM5NzEzNzM3MywiaWQiOiI4MmM3ZTI1MmFmMDJlMDZiODBmOGU1ZDM5ZTI5YmMyOCJ9
http://www.zqtcl.cn/news/253631/

相关文章:

  • 网站公告栏代码铁路建设标准网站
  • 网站设计工具更好的做网站禅城技术支持骏域网站建设
  • 百度商桥可以在两个网站放网站qq 微信分享怎么做的
  • 大学生网站建设开题报告秀山网站建设
  • 网站建设的实施方案网站建设基本标准
  • 做一个推广网站多少钱360导航网址
  • 在线网站建设哪家便宜wordpress 爬取
  • 移动端网站设计规范百度一下首页问问
  • 哪些网站怎么进广西玉林网站建设
  • 高端建站设计赶集网免费发布信息
  • 两题一做的网站响应式网站开发asp
  • 做网站直接开二级域名网站怎么收录到百度
  • 手机论坛网站源码西安网站建设-中国互联
  • 郑州网站建设策划方案丹阳建站推广管理
  • 电商网站用什么框架做广州网站建设公司奇亿网站建设
  • 营销策划网站专做品牌网站
  • 电脑托管宁波seo排名外包
  • 外汇网站模版网站开发和网站制作的区别
  • 学习网站建设的书籍我要做个网站该怎么做
  • h5互动网站建设网站制作的教程
  • 大连网站设计公司双语外贸网站源码
  • 广元网站建设工作室湖北省建设用地预审网站
  • 保定清苑城市建设网站公司网站建立费用
  • 厦门找一家做网站的公司家在深圳论坛
  • 个人网站开发 服务器货源之家官网
  • 教育培训学校网站建设策划局域网 wordpress
  • 重庆建网站有哪些网站做曲线的源代码
  • 龙岩网站设计找哪家公司网站建设没有业务怎么办
  • 网站建设专业学什么建材 团购 网站怎么做
  • 电器工程东莞网站建设wordpress虚拟资源下载源码