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

【HarmonyOS】API6使用storage实现轻量级数据存储

 写在前面

本篇内容基于API6 JS语言进行开发,通过结合轻量级数据存储开发指导的文档,帮助大家完成一个实际的代码案例,通过这个小案例,可以实现简单数据的存储。

参考文档:文档中心

1、页面布局

首先我们编写一个简单的页面布局,页面中只有一个文本和两个按钮,文本用来展示存储的数据结果,按钮用来控制存储和获取数据,代码如下:

<div class="container"><text>{{content}}</text><div class="option"><button class="button" value="存储" "onclickSave"></button><button class="button" value="获取" "onclickGet"></button></div>
</div>

2、页面样式

然后我们简单处理一下页面的样式,代码如下:

.container {flex-direction: column;justify-content: center;align-items: center;margin-top: 20px;
}
.option {flex-direction: row;justify-content: center;align-items: center;margin-top: 20px;margin-right: 20px;
}
.button {font-size: 15px;text-align: center;margin-left: 10px;margin-right: 10px;width: 200px;height: 40px;
}

3、页面逻辑

最后,我们来实现页面中的数据存储以及数据获取的逻辑,相关代码参考本文开头部分的官网文档:

import featureAbility from '@ohos.ability.featureAbility'; // 用于获取文件存储路径
import prompt from '@system.prompt';
import storage from '@ohos.data.storage';export default {data: {content: "",},onclickSave() {var context = featureAbility.getContext();context.getFilesDir().then((filePath) => {storage.getStorage(filePath + '/mystore').then((storage) => {// 保存数据到缓存的storage实例中let getPromise = storage.put('qwe', true);getPromise.then(() => {storage.flush();console.info("jarchie---保存成功");}).catch((err) => {console.info("jarchie---保存失败" + err);})}).catch((err) => {console.info("jarchie---获取storage失败" + err);})});},onclickGet() {var context = featureAbility.getContext();context.getFilesDir().then((filePath) => {storage.getStorage(filePath + '/mystore').then((storage) => {let getPromise = storage.get('qwe', false);getPromise.then((value) => {this.content = value;console.info("jarchie---" + this.content);prompt.showToast({message: this.content,duration: 1000})}).catch((err) => {console.info("jarchie---" + err);})}).catch((err) => {console.info("jarchie---获取storage失败" + err)})});}
}

4、实现效果

1ce4e574ccbb382356c0a5fa3f8b9a76_377x814.gif%40900-0-90-f.gif

相关文章:

【HarmonyOS】API6使用storage实现轻量级数据存储

写在前面 本篇内容基于API6 JS语言进行开发&#xff0c;通过结合轻量级数据存储开发指导的文档&#xff0c;帮助大家完成一个实际的代码案例&#xff0c;通过这个小案例&#xff0c;可以实现简单数据的存储。 参考文档&#xff1a;文档中心 1、页面布局 首先我们编写一个简单…...

Python Flask构建微信小程序订餐系统 (十二)

🔥 创建切换商品分类状态的JS文件 🔥 ; var food_act_ops={init:function(){this.eventBind();},eventBind:function(){//表示作用域var that = this;$(".wrap_search select[name=status]").change(function(){$(".wrap_search").submit();});$(&qu…...

C++——模板的作用2:特例化

目录 模板的形式&#xff1a; 一.模板的多参数应用&#xff1a; 例&#xff1a; 错误使用1&#xff1a;使用不标准的模板形参表 ​编辑 错误使用2&#xff1a;使用变量作为实参传递给函数模板 二.模板的特例化&#xff1a; 类模板&#xff1a; 针对模板的特化步骤&am…...

Python Web开发技巧VII

目录 装饰器inject_serializer 装饰器atomic rebase git 清理add的数据 查看git的当前工作目录 makemigrations文件名称 action(detailTrue, methods["GET"]) 如何只取序列化器的一个字段进行返回 Response和JsonResponse有什么区别 序列化器填表和单字段如…...

LaTex4【下载模板、引入文献】

下载latex模板&#xff1a;&#xff08;模板官网一般都有&#xff0c;去找&#xff09; 我这随便找了一个&#xff1a; 下载得到一个压缩包&#xff0c;然后用overleaf打开&#x1f447;&#xff1a; (然后改里面的内容就好啦) 另外&#xff0c;有很多在线的数学公式编辑器&am…...

【VSCode部署模型】导出TensorFlow2.X训练好的模型信息

参考tensorflow2.0 C加载python训练保存的pb模型 经过模型训练及保存&#xff0c;我们得到“OptimalModelDataSet2”文件夹&#xff0c;模型的保存方法(.h5或.pb文件)&#xff0c;参考【Visual Studio Code】c/c部署tensorflow训练的模型 其中“OptimalModelDataSet2”文件夹保…...

windows环境下,安装elasticsearch

目录 前言准备安装 jdk 安装nodejsElasticSearch下载ElasticSearch-head 下载 安装ElasticSearch安装ElasticSearch-head插件设置用户名密码访问ElasticSearch 默认用户名和密码参考 前言 win10elasticsearch 8.9.0 准备 安装 jdk ElasticSearch 是基于lucence开发的&#…...

Elasticsearch入门笔记(一)

环境搭建 Elasticsearch是搜索引擎&#xff0c;是常见的搜索工具之一。 Kibana 是一个开源的分析和可视化平台&#xff0c;旨在与 Elasticsearch 合作。Kibana 提供搜索、查看和与存储在 Elasticsearch 索引中的数据进行交互的功能。开发者或运维人员可以轻松地执行高级数据分析…...

记一次安装nvm切换node.js版本实例详解

最后效果如下&#xff1a; 背景&#xff1a;由于我以前安装过node.js&#xff0c;后续想安装nvm将node.js管理起来。 问题&#xff1a;nvm-use命令行运行成功&#xff0c;但是nvm-list显示并没有成功。 原因&#xff1a;因为安装过node.js&#xff0c;所以原先的node.js不收n…...

生态共建丨YashanDB与构力科技完成兼容互认证

近日&#xff0c;深圳计算科学研究院崖山数据库系统YashanDB V22.2与北京构力科技有限公司BIMBase云平台完成兼容性互认证。经严格测试&#xff0c;双方产品完全兼容、运行稳定。 崖山数据库系统YashanDB是深算院自主研发设计的新型数据库系统&#xff0c;融入原创理论&#xf…...

React从入门到实战-react脚手架,消息订阅与发布

创建项目并启动 全局安装 npm install -g create-react-app切换到想创建项目的目录&#xff0c;使用命令&#xff1a;create-react-app 项目名称 ​ [外链图片转存失败,源站可能有防盗链机制,建议将图片保存中…(iQ6hEUgAABpQAAAD1CAYAAABeIRZoAAAAAXNSR0IArs4c6QAAIABJREFUe…...

从零构建深度学习推理框架-1 简介和Tensor

源代码作者&#xff1a;https://github.com/zjhellofss 本文仅作为个人学习心得领悟 &#xff0c;将原作品提炼&#xff0c;更加适合新手 什么是推理框架&#xff1f; 深度学习推理框架用于对已训练完成的神经网络进行预测&#xff0c;也就是说&#xff0c;能够将深度训练框…...

使用WGCLOUD监测安卓(Android)设备的运行状态

WGCLOUD是一款开源运维监控软件&#xff0c;除了能监控各种服务器、主机、进程应用、端口、接口、docker容器、日志、数据等资源 WGCLOUD还可以监测安卓设备&#xff0c;比如安卓手机、安卓设备等 我们只要下载对应的安卓客户端&#xff0c;部署运行即可&#xff0c;如下是下…...

C++笔记之迭代器失效问题处理

C笔记之迭代器失效问题处理 code review! 参考博文&#xff1a;CSTL迭代器失效的几种情况总结 文章目录 C笔记之迭代器失效问题处理一.使用返回新迭代器的插入和删除操作二.对std::vector 来说&#xff0c;擦除&#xff08;erase&#xff09;元素会导致迭代器失效 一.使用返回…...

Tomcat的startup.bat文件出现闪退问题

对于双击Tomcat的startup.bat文件出现闪退问题&#xff0c;您提供的分析是正确的。主要原因是Tomcat需要Java Development Kit (JDK)的支持&#xff0c;而如果没有正确配置JAVA_HOME环境变量&#xff0c;Tomcat将无法找到JDK并启动&#xff0c;从而导致闪退。 以下是解决该问题…...

JAVA8-lambda表达式8:在设计模式-模板方法中的应用

传送门 JAVA8-lambda表达式1&#xff1a;什么是lambda表达式 JAVA8-lambda表达式2&#xff1a;常用的集合类api JAVA8-lambda表达式3&#xff1a;并行流&#xff0c;提升效率的利器&#xff1f; JAVA8-lambda表达式4&#xff1a;Optional用法 java8-lambda表达式5&#xf…...

React之组件间通信

React之组件间通信 组件通信&#xff1a; 简单讲就是组件之间的传值&#xff0c;包括state、函数等 1、父子组件通信 父组件给子组件传值 核心&#xff1a;1、自定义属性&#xff1b;2、props 父组件中: 自定义属性传值 import Header from /components/Headerconst Home ()…...

【MATLAB第58期】基于MATLAB的PCA-Kmeans、PCA-LVQ与BP神经网络分类预测模型对比

【MATLAB第58期】基于MATLAB的PCA-Kmeans、PCA-LVQ与BP神经网络分类预测模型对比 一、数据介绍 基于UCI葡萄酒数据集进行葡萄酒分类及产地预测 共包含178组样本数据&#xff0c;来源于三个葡萄酒产地&#xff0c;每组数据包含产地标签及13种化学元素含量&#xff0c;即已知类…...

CF1833 A-E

A题 题目链接&#xff1a;https://codeforces.com/problemset/problem/1833/A 基本思路&#xff1a;for循环遍历字符串s&#xff0c;依次截取字符串s的子串str&#xff0c;并保存到集合中&#xff0c;最后输出集合内元素的数目即可 AC代码&#xff1a; #include <iostrea…...

【深度学习】【Image Inpainting】Generative Image Inpainting with Contextual Attention

Generative Image Inpainting with Contextual Attention DeepFillv1 (CVPR’2018) 论文&#xff1a;https://arxiv.org/abs/1801.07892 论文代码&#xff1a;https://github.com/JiahuiYu/generative_inpainting 论文摘录 文章目录 效果一览摘要介绍论文贡献相关工作Image…...

二维深度卷积网络模型下的轴承故障诊断

1.数据集 使用凯斯西储大学轴承数据集&#xff0c;一共有4种负载下采集的数据&#xff0c;每种负载下有10种 故障状态&#xff1a;三种不同尺寸下的内圈故障、三种不同尺寸下的外圈故障、三种不同尺寸下的滚动体故障和一种正常状态 2.模型&#xff08;二维CNN&#xff09; 使…...

redis突然变慢问题定位

CPU 相关&#xff1a;使用复杂度过高命令、O&#xff08;N&#xff09;的这个N&#xff0c;数据的持久化&#xff0c;都与耗费过多的 CPU 资源有关 内存相关&#xff1a;bigkey 内存的申请和释放、数据过期、数据淘汰、碎片整理、内存大页、内存写时复制都与内存息息相关 磁盘…...

React井字棋游戏官方示例

在本篇技术博客中&#xff0c;我们将介绍一个React官方示例&#xff1a;井字棋游戏。我们将逐步讲解代码实现&#xff0c;包括游戏的组件结构、状态管理、胜者判定以及历史记录功能。让我们一起开始吧&#xff01; 项目概览 在这个井字棋游戏中&#xff0c;我们有以下组件&am…...

七大经典比较排序算法

1. 插入排序 (⭐️⭐️) &#x1f31f; 思想&#xff1a; 直接插入排序是一种简单的插入排序法&#xff0c;思想是是把待排序的数据按照下标从小到大&#xff0c;依次插入到一个已经排好的序列中&#xff0c;直至全部插入&#xff0c;得到一个新的有序序列。例如&#xff1a;…...

【点云处理教程】03使用 Python 实现地面检测

一、说明 这是我的“点云处理”教程的第3篇文章。“点云处理”教程对初学者友好&#xff0c;我们将在其中简单地介绍从数据准备到数据分割和分类的点云处理管道。 在上一教程中&#xff0c;我们在不使用 Open3D 库的情况下从深度数据计算点云。在本教程中&#xff0c;我们将首先…...

Python 日志记录:6大日志记录库的比较

Python 日志记录&#xff1a;6大日志记录库的比较 文章目录 Python 日志记录&#xff1a;6大日志记录库的比较前言一些日志框架建议1. logging - 内置的标准日志模块默认日志记录器自定义日志记录器生成结构化日志 2. Loguru - 最流行的Python第三方日志框架默认日志记录器自定…...

最近遇到一些问题的解决方案

最近遇到一些问题的解决方案 SpringBoot前后端分离参数传递方式总结Java8版本特性讲解idea使用git更新代码 : update project removeAll引发得java.lang.UnsupportedOperationException异常Java的split()函数用多个不同符号分割 Aspect注解切面demo 抽取公共组件&#xff0c;使…...

封装hutool工具生成JWT token

private static final String KEY "abcdef";/*** 生成token** param payload 可以存放用户的一些信息&#xff0c;不要存放敏感字段* return*/public static String createToken(Map<String, Object> payload) {//十分重要&#xff0c;不禁用发布到生产环境无…...

【手机】三星手机刷机解决SecSetupWizard已停止

三星手机恢复出厂设置之后&#xff0c;出现SecSetupWizard已停止的解决方案 零、问题 我手上有一部同学给的三星 GT-S6812I&#xff0c;这几天搞了张新卡&#xff0c;多余出的卡就放到这个手机上玩去了。因为是获取了root权限的&#xff08;直接使用KingRoot就可以&#xff0…...

GDAL C++ API 学习之路 OGRGeometry 抽象曲线基类 OGRCurve

OGRCurve class "ogrsf_frmts.h" OGRCurve 是 OGR&#xff08;OpenGIS Simple Features Reference Implementation&#xff09;几何库中的一个基类&#xff0c;表示曲线几何对象。它是 OGRLineString 和 OGRCircularString 的抽象基类&#xff0c;用于表示曲…...

wordpress ie8/seo外链怎么做

项目背景和意义 目的&#xff1a;首先&#xff0c;在社会上“停车难”是一个众所周知的问题&#xff0c;每个小区&#xff0c;每个大厦都有自己的停车场&#xff0c;但是在没有进入停车场之前&#xff0c;我们没办法知道是否有空车位&#xff0c;空车位在哪个地方。为了解决这个…...

广东网站建设需要多少钱/海淀区seo引擎优化

OSI七层网络模型Linux TCP/IP四层概念模型对应网络协议应用层&#xff08;Application Layer&#xff09;应用层(Application Layer)TFTP, FTP, NFS表示层&#xff08;Presentation Layer&#xff09;Telnet, Rlogin, SNMP,会话层&#xff08;Session Layer&#xff09;SMTP…...

网站建设 技术支持 阿里/韩国电视剧

一.网络架构层次模型 1.网络层次架构组成如图&#xff1a; 核心层&#xff1a;放置外网互联路由器设备 核心层的功能主要是实现骨干网络之间的优化传输&#xff0c;骨干层设计任务的重点通常是冗余能力、可靠性和高速的传输 汇聚层&#xff1a;放置的三层交换机 汇聚层是楼群或…...

网站建设新闻/开发网站的流程

转自&#xff1a;http://xjsunjie.blog.iyunv.com/999372/684447在SUSE Linux下部署应用的时候&#xff0c;有时会遇到“Socket/File: Can’t open so many files”的问题&#xff0c;这其实是因为SUSE Linux系统的文件句柄限制造成的&#xff0c;一般系统默认都是允许打开1024…...

java电商网站开发视频教程/百度seo怎么做

前言 很多同学一看到机器学习的数学内容就头皮发麻&#xff0c;甚至因此产生了弃坑的想法&#xff0c;在这里我要告诉大家&#xff0c;每一个学过高数的人&#xff0c;都有足够的数学基础去研究机器学习&#xff0c;有些知识点可能忘了&#xff0c;但看到了就能很快想起来&…...

东莞营销型网站开发/手机在线制作网站

先上演示地址: http://images.24city.com/jimmy/DeepZoom/ 步骤:1.先启动PhotoShop&#xff0c;利用自动等分切片功能把图片等分成若干小图片,并导出&#xff0c;参考下图: 2.启动Deep Zoom Composer a.新建项目&#xff0c;并用Add Image...导入刚才等分好的小图片 b.切换到c…...