自己做网站排名好吗祝明电子商务网站建设实验报告

diannao/2026/1/27 15:14:02/文章来源:
自己做网站排名好吗,祝明电子商务网站建设实验报告,开广告店要懂哪些技术,网站开发命名规范文章目录 数据持久化简述基本使用与封装测试用例参考 数据持久化简述 数据持久化就是将内存数据通过文件或者数据库的方式保存到设备中。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.mzph.cn/diannao/87584.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做网站自动上传文章黄石专业网站建设推广

git config --global http.postBuffer 1048576000

开发网站的过程the ken wordpress

在Linux中安装MySQL时创建专用的用户和用户组主要有以下几个原因: 安全: 分离权限:使用独立的MySQL用户和用户组运行MySQL服务,可以防止数据库进程以root或其他特权用户身份运行。这样即使MySQL服务器被攻击,潜在的危害…

河南营销网站建设联系方式wordpress百度音乐

这篇文章基于有关注册表安装及其工作方式等常见问题。以下是人们提出的主要问题: 1)。 安装如何工作? 2)。 Config Registry和Governance Registry有什么区别? 3)。 可以将H2以外的数据库用于本地注册表…

做网站个体户执照百度高级搜索页面的网址

目录 三、领域层定义仓库Repository接口3.1 ID生成策略3.2 内置方法的使用3.3 关于Specification的使用3.4 通过方法名定义查询3.5 自定义SQL(跨聚合)3.5.1 @NameQuery & @NamedNativeQuery3.5.2 @Query3.5.3 @Query.nativeQuery3.5.4 @Query & @Modifying3.5.5 @Que…

微网站微名片重庆网站开发培训

网络像一个巨大的蜘蛛网,连接着我们每个人的生活。对于网络,我们看不见也摸不着,但是却离不开它。无形的网络到底是怎么运作的呢?我们是如何通过网络实现人与人之间的交流的呢?今天小编就给大家普及一下网桥的知识,网桥在计算机…

舟山网站建设免费咨询深圳seo公司

写在前面最近一段时间,团队在升级ElasticSearch(以下简称ES),从ES 2.2升级到ES 7.5。也是这段时间,我从零开始,逐步的了解了ES,中间也踩了不少坑,所以特地梳理和总结一下相关的技术点…

八年级上册信息书怎么做网站健身网站设计模板下载

需要云服务器等云产品来学习Linux的同学可以移步/-->腾讯云<--/-->阿里云<--/-->华为云<--/官网&#xff0c;轻量型云服务器低至112元/年&#xff0c;新用户首次下单享超低折扣。 目录 一、Qt Creator快捷键 二、对象树 1、对象树的析构 2、自定义类的编写…

免费建网站 步骤wordpress 注册菜单

★【二叉搜索树&#xff08;中序遍历特性&#xff09;】【 ★递归双指针】Leetcode 98. 验证二叉搜索树 二叉搜索树 98. 验证二叉搜索树解法1 笨 中序递归遍历为一个数组 然后判断数组是不是升序排列就可以★解法2 不使用数组 递归法 ---------------&#x1f388;&#x1f38…

网站项目整体思路网页制作素材ps文件

1.初识qt--》qt是个框架&#xff0c;不是语言 1.学习路径 一 QT简介 &#xff0c;QTCreator &#xff0c;QT工程 &#xff0c;QT的第一个程序&#xff0c;类&#xff0c;组件 二 信号与槽 三 对话框 四 QT Desiner 控件 布局 样式 五 事件 六 GUI绘图 七 文件 八 …

网站的行为怎么做公司网站SEO优化哪个做得好

1.window.open 我最初使用的方法就是这个&#xff0c;只要提供了文件的服务器地址&#xff0c;使用window.open也就是在新窗口打开&#xff0c;这时浏览器会自动执行下载。 2.a标签 其实window.open和a标签是一样的&#xff0c;只是a标签是要用户点击触发&#xff0c;而wind…

什么创网站网站开发文档带er图

掌握类模板配合友元函数的类内实现和类外实现。 全局函数类内实现&#xff1a;直接在类内声明友元函数即可&#xff08;推荐使用这种&#xff09; #include <iostream> #include <Windows.h> #include <string>using namespace std;template<typename T…

网站建设运行状况做旅游网站的任务

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客&#xff0c;如有问题交流&#xff0c;欢迎评论区留言&#xff0c;一定尽快回复&#xff01;&#xff08;大家可以去看我的专栏&#xff0c;是所有文章的目录&#xff09;   文章字体风格&#xff1a; 红色文字表示&#…

saas建站没有网站源代码么企业商城建站

在互联网的海洋中&#xff0c;HTTP代理服务器像一座灯塔&#xff0c;为我们的网络冲浪提供了指引。而当Go语言遇上HTTP代理&#xff0c;会碰撞出怎样的火花呢&#xff1f;今天&#xff0c;让我们一起探讨Go语言中的HTTP代理模式&#xff0c;看看它如何玩转这个网络中转站&#…

宁波网站排名公司电子商务网站开发时间进度表

MySQL由几块组成 连接器分析器优化器执行器 MySQL的三大log blog 作用&#xff1a; 用于主从同步与数据恢复 记录内容&#xff1a; 已经完成的 DML(数据操作语句)&#xff0c;主要是用于数据备份 redolog<重试日志> 作用&#xff1a; 崩溃恢复&#xff0c;用于事…

门户网站运营河南企业站seo

guoqingjie已经过去两天了&#xff0c;因为楠哥生病&#xff0c;我们搁浅在了深圳&#xff0c;不过相比在路上的奔波&#xff0c;待在家里感觉惬意不少&#xff0c;不用在路上各种操心&#xff0c;之前上班感冒&#xff0c;身体处在亚健康状态&#xff0c;睡了两天身体也恢复一…

福州 哈尔滨网站建设 网络服务制作灯笼的做法

文章目录 一、前言二、示例源码【1】目录结构【2】Makefile源码【3】h264parser.c源码【4】编译运行【5】源码下载地址 声明&#xff1a;此篇示例源码非原创&#xff0c;原作者雷霄骅。雷霄骅&#xff0c;中国传媒大学通信与信息系统专业博士生&#xff0c;在此向雷霄骅雷神致敬…

东莞做网站排名优化推广wordpress 网站为什么打不开

1.git init 2.复制仓库地址&#xff08;默认的HTTPS就可以&#xff09; 3. 本地仓库与远程仓库建立连接 4. git remote add origin 远程仓库地址 5. 将远程仓库的文件拉到本地仓库中 git pull origin master6.将本地文件上传到本地仓库&#xff08;全部&#xff09; git add …

麒麟区住房和城乡建设局网站专业网站建设商家

文章目录 每日一句正能量前言&#xff1a;启航IT世界&#xff0c;高考后的暑期学习之旅基础课程预习指南基础课程预习指南&#xff1a;构建你的IT知识大厦引言一、计算机科学导论二、编程语言入门三、操作系统基础四、数据结构与算法五、网络基础六、数据库原理结语 技术学习路…

网站开发的需求分析论文wordpress自定义title

今天给大家分享一下SQLServer中生成GUID的用法。一、NEWID用法NEWID()作用是生成无顺序的GUID字符串。用法如下&#xff1a;SELECT NEWID() --生成36位的GUIDSELECT REPLACE(newid(), -, ) -- 生成32 位的GUID二、NEWSEQUENTIALID用法1、NEWSEQUENTIALID是什么&#xff1f;在指…

推荐几个自学做衣服的网站随州网站建设厂家

近年来&#xff0c;曾经被寄予厚望的网络安全行业似乎正逐渐失去昔日的辉煌。曾经一度备受瞩目的网络安全专业&#xff0c;如今却面临着降薪、裁员的困境。许多公司对网络安全的重视程度不高&#xff0c;网络安全岗位成了背锅的代名词。在这样的环境下&#xff0c;有人开始质疑…