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

新农宝网站建设方案一站式服务大厅官网

新农宝网站建设方案,一站式服务大厅官网,专门做蛋糕面包的网站,公司网站的建设要注意什么一、数据持久化介绍 数据持久化是将内存数据(内存是临时的存储空间)#xff0c;通过文件或数据库的形式保存在设备中。 HarmonyOS提供两种数据持久化方案#xff1a; 1.1、用户首选项#xff08;Preferences#xff09;#xff1a; 通常用于保存应用的配置信息。数据通…一、数据持久化介绍 数据持久化是将内存数据(内存是临时的存储空间)通过文件或数据库的形式保存在设备中。 HarmonyOS提供两种数据持久化方案 1.1、用户首选项Preferences 通常用于保存应用的配置信息。数据通过文本的形式保存在设备中应用使用过程中会将文本中的数据全量加载到内存中所以访问速度快、效率高但不适合需要存储大量数据的场景。 1.2、数据库 键值型数据库KV-Store一种非关系型数据库其数据以“键值”对的形式进行组织、索引和存储其中“键”作为唯一标识符。适合很少数据关系和业务关系的业务数据存储同时因其在分布式场景中降低了解决数据库版本兼容问题的复杂度和数据同步过程中冲突解决的复杂度而被广泛使用。相比于关系型数据库更容易做到跨设备跨版本兼容。 关系型数据库RelationalStore一种关系型数据库以行和列的形式存储数据广泛用于应用中的关系型数据的处理包括一系列的增、删、改、查等接口开发者也可以运行自己定义的SQL语句来满足复杂业务场景的需要。 二、通过用户首选项实现数据持久化 使用场景用户首选项为应用提供Key-Value键值型的数据处理能力支持应用持久化轻量级数据并对其修改和查询。 说明 ①Key键为string类型要求非空且长度不超过80个字节。 ②Value可以是string、number、boolean及以上类型数组大小不超过8192字节 ③数据量建议不超过一万条 2.1、基本案例 2.1.1、案例代码 Entry Component struct Index {State message: string 页面列表State showPanel: boolean falseProvide fontSize: number 16build() {Column(){// 顶部标题this.Title()// 导航列表this.RouterList()// 字体修改面板if(this.showPanel){IndexFontSizePanel().transition({translate: { y: 115 }})}}.width(100%).height(100%)}Builder Title(){Row() {Text(this.message).fontSize(50).fontWeight(FontWeight.Bold).height(80)Image($r(app.media.ic_public_settings)).width(30).onClick(() {animateTo({ duration: 500, curve: Curve.EaseOut }, () this.showPanel !this.showPanel)})}.justifyContent(FlexAlign.SpaceAround).width(100%)}Builder RouterList() {List({ space: 15 }) {ForEach([导航,屏幕,图片,图书,书架],(item,index) {ListItem() {Row(){Text((index1) .).fontSize(this.fontSize).fontColor(Color.White)Blank()Text(item).fontSize(this.fontSize).fontColor(Color.White)}.width(90%).padding(12).backgroundColor(#38f).borderRadius(20).shadow({radius: 6, color: #4F000000, offsetX: 2, offsetY: 4})}})}.layoutWeight(1).alignListItem(ListItemAlign.Center).width(100%)} }Component struct IndexFontSizePanel {Consume fontSize: numberfontSizLabel: object {14: 小,16: 标准,18: 大,20: 特大,}build() {Column() {Text(this.fontSizLabel[this.fontSize]).fontSize(20)Row({ space: 5 }) {Text(A).fontSize(14).fontWeight(FontWeight.Bold)Slider({min: 14,max: 20,step: 2,value: this.fontSize}).showSteps(true).trackThickness(6).layoutWeight(1).onChange(val {// 修改字体大小this.fontSize val})Text(A).fontSize(20).fontWeight(FontWeight.Bold)}.width(100%)}.width(100%).padding(15).backgroundColor(#fff1f0f0).borderRadius(20)} } 2.1.2、案例效果 案例说明 这是一个页面列表展示案例点击右上角的设置按钮底部会弹出字体修改面板字体有4个不同的大小(小/标准/大/特大)当点击滑动条可以修改字体大小 目前更改了滑动条的字体大小数据是保存在内存的关闭页面后再进来数据显示默认大小现在是想通过用户首选项实现数据持久化持久化保存设置的字体大小 2.2、具体实现 2.2.1、定义用户首选项操作文件 import preferences from ohos.data.preferences;class PreferencesUtil{prefMap: Mapstring, preferences.Preferences new Map()async loadPreference(context, name: string){try { // 加载preferenceslet pref await preferences.getPreferences(context, name)this.prefMap.set(name, pref)console.log(testTag, 加载Preferences[${name}]成功)} catch (e) {console.log(testTag, 加载Preferences[${name}]失败, JSON.stringify(e))}}async putPreferenceValue(name: string, key: string, value: preferences.ValueType){if (!this.prefMap.has(name)) {console.log(testTag, Preferences[${name}]尚未初始化)return}try {let pref this.prefMap.get(name)// 写入数据await pref.put(key, value)// 刷盘await pref.flush()console.log(testTag, 保存Preferences[${name}.${key} ${value}]成功)} catch (e) {console.log(testTag, 保存Preferences[${name}.${key} ${value}]失败, JSON.stringify(e))}}async getPreferenceValue(name: string, key: string, defaultValue: preferences.ValueType){if (!this.prefMap.has(name)) {console.log(testTag, Preferences[${name}]尚未初始化)return}try {let pref this.prefMap.get(name)// 读数据let value await pref.get(key, defaultValue)console.log(testTag, 读取Preferences[${name}.${key} ${value}]成功)return value} catch (e) {console.log(testTag, 读取Preferences[${name}.${key} ]失败, JSON.stringify(e))}} }const preferencesUtil new PreferencesUtil()export default preferencesUtil as PreferencesUtil 2.2.2、将数据加载到Preferences实例用于数据操作。 放入应用启动时来操作找到EntryAbility文件在onCreate应用创建时加载Preferences实例 2.2.3、Index页面使用 第一步一进入首页就进行读取 使用页面生命周期aboutToAppear来执行 第二步修改字体大小时写入Preferences 最后
http://www.pierceye.com/news/772921/

相关文章:

  • 移动网站开发认证基层建设被哪些网站全文收录
  • 中国电子商务网站小吃网站建设
  • 用什么语言能写网站吗装修公司招聘网站
  • 触摸网站手机软件开发公司赚钱吗
  • 刘家窑网站建设公司网店装修模板
  • 旅游网站国内外研究现状微信模板素材
  • 查一下红之易道学做的什么网站全国大型网站建设
  • 网站页面可以用什么框架做wordpress 自动 图片大小
  • 百度小程序可以根据网站的要求做吗网站建设评分细则
  • 团购模板网站廉洁长沙网站
  • 湖州建设网站制作多多进宝cms网站建设
  • 自己做网站有哪些方法呢深圳网站设计张兵
  • 网站开发技术的选择wordpress 标签 中文
  • 建设速干裤移动网站公司logo注册
  • 中山网站建设找阿江欢迎页网页设计作品欣赏
  • seo是东莞企业网站排seo网站制作与管理技术...
  • 哪里有建设好的网站做网站用哪个预装系统
  • h5技术建设网站的知识wordpress+主题+欣赏
  • 如何优化网站排名淘宝客 备案 网站名称
  • 网站后台管理系统源代码沧州市宇通网站建设公司
  • 郴州网站设计公司阜新网站设计
  • 成都网站制作中国互联个人做电影网站赚钱吗
  • 如何做自己的影视网站惠州惠城网站建设
  • 温州网站推广外包推推蛙网站建设
  • 北京百度网站排名优化四川公共资源交易网招标网
  • 上海网站制作商多用户网上商城
  • 四川建设网电子招投标网站莱芜金点子电话
  • 深圳科技网站建设网站怎么做跳站
  • 做网站需要多少人全国物流货运平台
  • 温州建网站用自己的电脑做网站