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

网站备案 注意phpstorm

网站备案 注意,phpstorm,购物网站排行榜前十名,网站开发技术路线与规范注意#xff1a;博主有个鸿蒙专栏#xff0c;里面从上到下有关于鸿蒙next的教学文档#xff0c;大家感兴趣可以学习下 如果大家觉得博主文章写的好的话#xff0c;可以点下关注#xff0c;博主会一直更新鸿蒙next相关知识 专栏地址: https://blog.csdn.net/qq_56760790/…注意博主有个鸿蒙专栏里面从上到下有关于鸿蒙next的教学文档大家感兴趣可以学习下 如果大家觉得博主文章写的好的话可以点下关注博主会一直更新鸿蒙next相关知识 专栏地址: https://blog.csdn.net/qq_56760790/category_12794123.html 目录 1. 应用数据持久化 2. 应用数据持久化-用户首选项 2.1 概述 2.2 约束限制 2.3 常用方法 2.3.1 封装用户首选项工具类 2.3.2 初始化用户首选项 2.3.3 使用用户首选项 4. 学习地址 1. 应用数据持久化 应用数据持久化是指应用将内存中的数据通过文件或数据库的形式保存到设备上。内存中的数据形态通常是任意的数据结构或数据对象存储介质上的数据形态可能是文本、数据库、二进制文件等。 HarmonyOS标准系统支持典型的存储数据形态包括用户首选项、键值型数据库、关系型数据库。 用户首选项Preferences通常用于保存应用的配置信息。数据通过文本的形式保存在设备中应用使用过程中会将文本中的数据全量加载到内存中所以访问速度快、效率高但不适合需要存储大量数据的场景。键值型数据库KV-Store一种非关系型数据库其数据以“键值”对的形式进行组织、索引和存储其中“键”作为唯一标识符。适合很少数据关系和业务关系的业务数据存储同时因其在分布式场景中降低了解决数据库版本兼容问题的复杂度和数据同步过程中冲突解决的复杂度而被广泛使用。相比于关系型数据库更容易做到跨设备跨版本兼容。关系型数据库RelationalStore一种关系型数据库以行和列的形式存储数据广泛用于应用中的关系型数据的处理包括一系列的增、删、改、查等接口开发者也可以运行自己定义的SQL语句来满足复杂业务场景的需要。 2. 应用数据持久化-用户首选项 2.1 概述 用户首选项为应用提供Key-Value键值型的数据处理能力支持应用持久化轻量级数据并对其修改和查询。当用户希望有一个全局唯一存储的地方可以采用用户首选项来进行存储。Preferences会将该数据缓存在内存中当用户读取的时候能够快速从内存中获取数据当需要持久化时可以使用flush接口将内存中的数据写入持久化文件中。Preferences会随着存放的数据量越多而导致应用占用的内存越大因此Preferences不适合存放过多的数据也不支持通过配置加密适用的场景一般为应用保存用户的个性化设置字体大小是否开启夜间模式等。 2.2 约束限制 首选项无法保证进程并发安全会有文件损坏和数据丢失的风险不支持在多进程场景下使用。Key键为string类型要求非空且长度不超过1024个字节。如果Value值为string类型请使用UTF-8编码格式可以为空不为空时长度不超过16 * 1024 * 1024个字节。内存会随着存储数据量的增大而增大所以存储的数据量应该是轻量级的建议存储的数据不超过一万条否则会在内存方面产生较大的开销。 2.3 常用方法 参考华为官方文档文档中心 注意记得用真机或者模拟器运行 2.3.1 封装用户首选项工具类 注意PreferencesUtil文件结尾是ts不是ets import dataPreferences from ohos.data.preferences import hilog from ohos.hilog;/*** 用户首选项(存储简单数据)*/ export default class PreferencesUtil {// 用户首选项名称private static preferenceName: string myStore/*** 创建* param context*/static createPreferences(context) {globalThis.getFontPreferences (() {let preferences: PromisedataPreferences.Preferences dataPreferences.getPreferences(context, this.preferenceName);return preferences;});}/*** 存放数据* param value*/static savePreferencesValue(key: string, value: string) {globalThis.getFontPreferences().then((preferences) {preferences.has(key).then(async (isExist) {if (!isExist) {await preferences.put(key, value);preferences.flush();}}).catch((err) {hilog.info(0xFF00, preferencesTag, %{public}s, save PreferencesValue fail);});}).catch((err) {hilog.info(0xFF00, preferencesTag, %{public}s, save PreferencesValue fail);});}/*** 获取数据* returns*/static async getPreferencesValue(key: string) {let value: string ;const preferences await globalThis.getFontPreferences();value await preferences.get(key, value);return value;}/*** 删除数据*/static async deletePreferencesValue(key: string) {const preferences: dataPreferences.Preferences await globalThis.getFontPreferences();let deleteValue preferences.delete(key);deleteValue.then(() {hilog.info(0xFF00, preferencesTag, %{public}s, delete PreferencesValue success);}).catch((err) {hilog.info(0xFF00, preferencesTag, %{public}s, delete PreferencesValue fail);});} }2.3.2 初始化用户首选项 在EntryAbility文件中初始化用户首选项 onWindowStageCreate(windowStage: window.WindowStage): void {// 初始化用户首选项PreferencesUtil.createPreferences(this.context);// Main window is created, set main page for this abilityhilog.info(0x0000, testTag, %{public}s, Ability onWindowStageCreate);windowStage.loadContent(pages/Index, (err) {if (err.code) {hilog.error(0x0000, testTag, Failed to load the content. Cause: %{public}s, JSON.stringify(err) ?? );return;}hilog.info(0x0000, testTag, Succeeded in loading the content.);});} 2.3.3 使用用户首选项 注意用户首选项存的值全局都可以获取到 import PreferencesUtil from ../utils/PreferencesUtilEntryComponentstruct Index {build() {Column() {Text(存值).onClick(() {PreferencesUtil.savePreferencesValue(username, 东林)console.log(preferences save success)}).margin({bottom:50})Divider()Text(点我获取preferences值).onClick(async () {const username await PreferencesUtil.getPreferencesValue(username)console.log(preferences username: JSON.stringify(username))}).margin({bottom:50})Divider()Text(删除).onClick(async () {await PreferencesUtil.deletePreferencesValue(username)console.log(preferences remove success)})}.height(100%).width(100%)}} 4. 学习地址 全网首发鸿蒙NEXT星河版零基础入门到实战2024年最新版企业级开发视频陆续更新中_哔哩哔哩_bilibili
http://www.dnsts.com.cn/news/62575.html

相关文章:

  • 网站开发中用到的英文单词专业手机网站开发
  • 江苏建设行业证书编号查询网站重庆妇科医院咨询
  • 哪个网站可以做字体大小按效果付费的推广
  • 网站流量提供商地方网站收录
  • 楼盘价格哪个网站做的好全国小微企业名录
  • 怎么查看网站的安全性正能量网站入口不用下载免费
  • 做酒网站延安做网站的公司
  • 帝国cms登录网站腾讯云域名价格
  • 长沙网站制作电话wordpress主题制作pdf
  • 厦门网站建设方案开发公司网站建设存在问题
  • 东莞微客巴巴做网站门户网站开发注意哪些
  • 目前网站开发怎么兼顾手机wordpress 专业模板下载
  • 网站广东省备案系统wordpress微信公众号小工具
  • 空间坐标系做图网站王烨鑫
  • 毕节网站网站建设哪些网站可以做招生
  • 个人博客网站的建设结构图青岛网站开发设计
  • 网站内容及实现的方式网站建好了怎么做才赚钱
  • 承建网站广州高端网页制作
  • 优良的网站邮箱服务器提供商ispqq群引流推广软件
  • 成都网站建设-中国互联开发电子商务网站的主流语言
  • 天津最好的网站建设公司笔记本页面设计模板
  • 轻淘客 轻网站怎么做科协网站建设建议
  • 网站是怎样制作的ui界面设计公司
  • 重庆美邦建网站微信公众号怎么创建账号
  • 漳州城乡建设管理局网站荷塘网站建设
  • 修改散文网站国际网站建站
  • 聊城专业网站建设公司哪家好深圳建筑工程信息网
  • 项目外包网站建站宝盒手机版下载
  • 什么网站做外贸最好美食网页设计图片
  • 做自己的网站能赚钱吗wordpress 数据库密码