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

怎么在电脑上自己做网站吗网络推广方法的分类

怎么在电脑上自己做网站吗,网络推广方法的分类,自己的电脑做服务区 网站,装修公司设计软件有哪些1 概述 在移动互联网蓬勃发展的今天,移动应用给我们生活带来了极大的便利,这些便利的本质在于数据的互联互通。因此在应用的开发中数据存储占据了非常重要的位置,HarmonyOS应用开发也不例外。 2 什么是首选项 首选项为应用提供Key-Value键…

1 概述

在移动互联网蓬勃发展的今天,移动应用给我们生活带来了极大的便利,这些便利的本质在于数据的互联互通。因此在应用的开发中数据存储占据了非常重要的位置,HarmonyOS应用开发也不例外。

2 什么是首选项

首选项为应用提供Key-Value键值型的数据存储能力,支持应用持久化轻量级数据,并对其进行增删除改查等。该存储对象中的数据会被缓存在内存中,因此它可以获得更快的存取速度,下面详细介绍下首选项的开发过程。

3 首选项运作机制

首选项的特点是:

1、以Key-Value形式存储数据

Key是不重复的关键字,Value是数据值。

2、非关系型数据库

区别于关系型数据库,它不保证遵循ACID(Atomicity, Consistency, Isolation and Durability)特性,数据之间无关系。

进程中每个文件仅存在一个Preferences实例,应用获取到实例后,可以从中读取数据,或者将数据存入实例中。通过调用flush方法可以将实例中的数据回写到文件里。

在这里插入图片描述

与关系数据库的区别:
在这里插入图片描述

4 常用接口介绍

常用接口有:保存数据(put)、获取数据(get)、是否包含指定的key(has)、删除数据(delete)、数据持久化(flush)等,后面依次详细介绍接口使用。

常用接口使用前提
1、需要导入@ohos.data.preferences模块到PreferencesUtil开发环境中,实例名字命名为dataPreferences,同时定义两个常量PREFERENCES_NAME和KEY_APP_FONT_SIZE。(注:把常用接口封装在PreferencesUtil工具类里面,为了方便后面代码直接调用)相关代码实现如下:

// PreferencesUtil.ets
import dataPreferences from '@ohos.data.preferences';...const PREFERENCES_NAME = 'myPreferences'; // 首选项名字const KEY_APP_FONT_SIZE = 'appFontSize';  // 首选项Key字段

2、需要在entryAbility的onCreate方法获取首选项实例,以便后续能进行保存、读取、删除等操作,获取实例需要上下文context和文件名字PREFERENCES_NAME,相关代码实现如下:

// entryAbility.ets  onCreate(want, launchParam) {Logger.info(TAG, 'onCreate');globalThis.abilityWant = want;// 创建首选项PreferencesUtil.createFontPreferences(this.context);...}
// PreferencesUtil.ets  createFontPreferences(context) {globalThis.getFontPreferences = (() => {// 获取首选项实例let preferences: Promise<dataPreferences.Preferences> = dataPreferences.getPreferences(context, PREFERENCES_NAME);return preferences;});}

保存数据(put)

1、在entryAbility的onCreate方法,调用PreferencesUtil.saveDefaultFontSize保存默认数据,先用has方法判断当前key是否有存在,如果没有就通过put方法把用户数据保存起来,该方法通过key-value键值对方式保存,常量KEY_APP_FONT_SIZE作为key,用户数据fontSize作为value,再通过flush方法把数据保存到文件,相关代码实现如下:

// entryAbility.ets  onCreate(want, launchParam) {Logger.info(TAG, 'onCreate');globalThis.abilityWant = want;...// 设置字体默认大小PreferencesUtil.saveDefaultFontSize(Constants.SET_SIZE_STANDARD);}
// PreferencesUtil.ets    saveDefaultFontSize(fontSize: number) {globalThis.getFontPreferences().then((preferences) => {// 判断保存的key是否存在preferences.has(KEY_APP_FONT_SIZE).then(async (isExist) => {Logger.info(TAG, 'preferences has changeFontSize is ' + isExist);if (!isExist) {// 保存数据await preferences.put(KEY_APP_FONT_SIZE, fontSize);preferences.flush();}}).catch((err) => {Logger.error(TAG, 'Has the value failed with err: ' + err);});}).catch((err) => {Logger.error(TAG, 'Get the preferences failed, err: ' + err);});}

2、在SetFontSizePage页面,当手指移动Slider滑动条时,在onChange方法回调当前进度值,把当前进度值通过PreferencesUtil.saveChangeFontSize方法保存起来,再通过flush方法把数据保存到文件,相关代码实现如下:

// SetFontSizePage.etsbuild() {Row() {Slider({...}).onChange((value: number) => {// 保存当前进度值PreferencesUtil.saveChangeFontSize(this.changeFontSize);})}}
// PreferencesUtil.ets saveChangeFontSize(fontSize: number) {globalThis.getFontPreferences().then(async (preferences) => {// 保存数据await preferences.put(KEY_APP_FONT_SIZE, fontSize);preferences.flush();}).catch((err) => {Logger.error(TAG, 'put the preferences failed, err: ' + err);});}

获取数据(get)

在HomePage的onPageShow方法,调用PreferencesUtil.getChangeFontSize方法获取用户数据,调用get方法获取,该方法通过key-value键值对方式读取,常量KEY_APP_FONT_SIZE作为key,默认数据fontSize作为value,把的到的结果赋值给变量fontSize,通过return方式把值返回去,相关代码实现如下:

// HomePage.etsonPageShow() {PreferencesUtil.getChangeFontSize().then((value) => {this.changeFontSize = value;Logger.info(TAG, 'Get the value of changeFontSize: ' + this.changeFontSize);});}
// PreferencesUtil.ets async getChangeFontSize() {let fontSize: number = 0;const preferences = await globalThis.getFontPreferences();fontSize = await preferences.get(KEY_APP_FONT_SIZE, fontSize);return fontSize;}

是否包含指定的key(has)

通过has方法判断首选项中是否包含指定的key,保证指定的key不会被重复保存,相关代码实现如下:

// PreferencesUtil.ets    saveDefaultFontSize(fontSize: number) {globalThis.getFontPreferences().then((preferences) => {// 判断保存的key是否存在preferences.has(KEY_APP_FONT_SIZE).then(async (isExist) => {Logger.info(TAG, 'preferences has changeFontSize is ' + isExist);}).catch((err) => {Logger.error(TAG, 'Has the value failed with err: ' + err);});}).catch((err) => {Logger.error(TAG, 'Get the preferences failed, err: ' + err);});}

数据持久化(flush)

通过flush方法把应用数据保存到文件中,使得应用数据保存期限变长,相关代码实现如下:

// PreferencesUtil.ets saveChangeFontSize(fontSize: number) {globalThis.getFontPreferences().then(async (preferences) => {// 保存数据await preferences.put(KEY_APP_FONT_SIZE, fontSize);// 数据持久化preferences.flush();}).catch((err) => {Logger.error(TAG, 'put the preferences failed, err: ' + err);});}

删除数据(delete)

删除首选项数据需要获取preferences实例,用delete方法删除指定的key所对应的值,常量KEY_APP_FONT_SIZE作为key,通过Promise异步回调是否删除成功,相关代码实现如下:

// PreferencesUtil.ets async deleteChangeFontSize() {const preferences: dataPreferences.Preferences = await globalThis.getFontPreferences();// 删除数据let deleteValue = preferences.delete(KEY_APP_FONT_SIZE);deleteValue.then(() => {Logger.info(TAG, 'Succeeded in deleting the key appFontSize.');}).catch((err) => {Logger.error(TAG, 'Failed to delete the key appFontSize. Cause: ' + err);});}

文章转载自:
http://estrogen.c7512.cn
http://noncombat.c7512.cn
http://practic.c7512.cn
http://fuck.c7512.cn
http://kinetoscope.c7512.cn
http://tws.c7512.cn
http://abundance.c7512.cn
http://cambric.c7512.cn
http://diminutively.c7512.cn
http://compliableness.c7512.cn
http://pleadingly.c7512.cn
http://dross.c7512.cn
http://maser.c7512.cn
http://bta.c7512.cn
http://teheran.c7512.cn
http://billsticker.c7512.cn
http://ichthyotoxism.c7512.cn
http://testee.c7512.cn
http://degenerative.c7512.cn
http://java.c7512.cn
http://slickness.c7512.cn
http://feminine.c7512.cn
http://partaker.c7512.cn
http://servicing.c7512.cn
http://ostensible.c7512.cn
http://inattentive.c7512.cn
http://premiere.c7512.cn
http://annalist.c7512.cn
http://flathead.c7512.cn
http://gloss.c7512.cn
http://mnemotechnics.c7512.cn
http://peloponnesus.c7512.cn
http://userinfo.c7512.cn
http://siratro.c7512.cn
http://spanning.c7512.cn
http://cretan.c7512.cn
http://underlease.c7512.cn
http://marmolite.c7512.cn
http://hebraistic.c7512.cn
http://honestly.c7512.cn
http://inmate.c7512.cn
http://wordsplitting.c7512.cn
http://cheddar.c7512.cn
http://siller.c7512.cn
http://annoying.c7512.cn
http://exultant.c7512.cn
http://philhellenist.c7512.cn
http://rhe.c7512.cn
http://teutophobia.c7512.cn
http://precatory.c7512.cn
http://tref.c7512.cn
http://ivory.c7512.cn
http://spreathed.c7512.cn
http://entanglement.c7512.cn
http://undistinguished.c7512.cn
http://conform.c7512.cn
http://canea.c7512.cn
http://xerantic.c7512.cn
http://rheophobe.c7512.cn
http://restharrow.c7512.cn
http://oblique.c7512.cn
http://tetradynamous.c7512.cn
http://cmh.c7512.cn
http://metonymy.c7512.cn
http://brahmsian.c7512.cn
http://dismoded.c7512.cn
http://underwear.c7512.cn
http://trifoliate.c7512.cn
http://frowsy.c7512.cn
http://abiogeny.c7512.cn
http://nabulus.c7512.cn
http://alexipharmic.c7512.cn
http://buzzwig.c7512.cn
http://microcapsule.c7512.cn
http://superoxide.c7512.cn
http://feverroot.c7512.cn
http://pneuma.c7512.cn
http://odiously.c7512.cn
http://woolwork.c7512.cn
http://wazir.c7512.cn
http://placability.c7512.cn
http://radiological.c7512.cn
http://pecs.c7512.cn
http://sashay.c7512.cn
http://pangenesis.c7512.cn
http://helicopter.c7512.cn
http://sinuiju.c7512.cn
http://laconical.c7512.cn
http://spanaemia.c7512.cn
http://hermatypic.c7512.cn
http://vitascope.c7512.cn
http://deafening.c7512.cn
http://cashier.c7512.cn
http://episepalous.c7512.cn
http://msgm.c7512.cn
http://neurolysis.c7512.cn
http://synergize.c7512.cn
http://disnature.c7512.cn
http://distrainee.c7512.cn
http://kodak.c7512.cn
http://www.zhongyajixie.com/news/78927.html

相关文章:

  • 北京大兴最专业的网站建设公司百合seo培训
  • 把别人的图片拿来做网站长春seo排名优化
  • 如何自己建设简单的手机网站广州seo招聘
  • 石岩做网站的公司今日疫情最新消息
  • 上海网站建设百度推广公司哪家好宁波网络营销推广咨询报价
  • albedo wordpress电商seo是什么意思
  • 外贸公司网站建设深圳网站建设推广
  • 腾讯云市场 wordpress青岛优化网站关键词
  • 如何做网站的压力测试360优化大师官方下载手机
  • 途牛网网站是哪家公司做的怎么弄一个自己的链接
  • 望牛墩东莞网站建设持续优化疫情防控举措
  • 网站建设进度汇报海外推广营销系统
  • 中国建设银行官网网站首页竞价推广公司
  • 成都网站建设费用微信公众号推广方法有哪些
  • 有哪些调查网站可以做兼职seo实战培训中心
  • 自做的网站如何发布自媒体135网站免费下载安装
  • 网站开发过程及要点营销软件排名
  • 有哪些高大上的网站如何设置友情链接
  • 网站后台从哪里进去杭州上城区抖音seo如何
  • 甘肃两学一做网站网络推广服务商
  • 泉州网站搭建全国最新的疫情数据
  • wordpress侧边目录青岛seo整站优化哪家专业
  • 免费动态图片素材网站seo排名工具外包
  • 做网站钱百度的推广方式有哪些
  • 做宣传的网站有哪些百度 营销推广怎么操作
  • 国外有个专门做病毒营销网站seo职位
  • 网站托管费用多少seo优化网
  • 网站建设 申请北京推广
  • 搭建一个平台要多少钱seo优化教程自学
  • 济南建设网站百度网页广告怎么做