




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
首选项首选项概述首选项Preferences,适用于对Key-Value结构的数据进行存取和持久化操作。首选项基本概念Key-Value数据结构一种键值型的数据结构。Key是不重复的关键字,Value是数据值。在首选项中key的类型是字符串类型,Value的类型包括数字型、字符串型、布尔型以及这3种类型的数组类型。非关系型数据库区别于关系数据库,不保证遵循ACID(Atomic、Consistency、Isolation及Durability)特性,不采用关系模型来组织数据,数据之间无关系。比如,以Key-Value数据结构组成的数据库。首选项概述运作机制首选项概述约束和限制因Preferences实例会加载到内存中,建议存储的数据不超过一万条,并注意及时清理不再使用的实例,以便减少非内存开销。数据中的Key为string类型,要求非空且字符长度不超过80个字节。当数据中的Value为string类型时,允许为空,字符长度不超过8192个字节。首选项的使用使用场景首选项功能通常用于保存应用的一些常用配置信息,并不适合需要存储大量数据和频繁改变数据的场景。应用的数据保存在文件中,这些文件可以持久化地存储在设备上。接口说明创建存储实例数据处理数据持久化订阅数据变更删除数据文件首选项的使用创建存储实例读取指定文件,将数据加载到Preferences实例,即可创建一个存储实例,用于数据操作。PreferencesAPI提供两套接口来使用Preferences,一套使用Promise,另一套使用callback异步回调的方式。这里我们以callback异步回调为例:包名接口名描述ohos.data.preferencesgetPreferences(context:Context,name:string,callback:AsyncCallback<Preferences>):void读取指定首选项持久化文件,将数据加载到Preferences实例,用于数据操作。首选项的使用数据处理数据处理是对Preference实例的数据进行增删改查。类名接口名描述Preferencesput(key:string,value:ValueType,callback:AsyncCallback<void>):void支持存入值为number、string、boolean、Array<number>、Array<string>、Array<boolean>类型的数据。Preferencesget(key:string,defValue:ValueType,callback:AsyncCallback<ValueType>):void支持获取值为number、string、boolean、Array<number>、Array<string>、Array<boolean>类型的数据。PreferencesgetAll(callback:AsyncCallback<Object>):void支持获取含有所有键值的Object对象。Preferencesdelete(key:string,callback:AsyncCallback<void>):void支持从Preferences实例中删除名为给定Key的存储键值对。Preferenceshas(key:string,callback:AsyncCallback<boolean>):void检查Preferences实例是否包含名为给定Key的存储键值对首选项的使用数据持久化通过执行flush方法,应用可以将缓存的数据再次写回文本文件中进行持久化存储。类名接口名描述Preferencesflush(callback:AsyncCallback<void>):void将Preferences实例通过异步线程回写入文件中。首选项的使用订阅数据变更订阅数据变更,订阅的Key的值发生变更后,在执行flush方法后,会触发callback回调。类名接口名描述Preferenceson(type:'change',callback:Callback<{key:string}>):void订阅数据变更。Preferencesoff(type:'change',callback:Callback<{key:string}>):void注销订阅。首选项的使用删除数据文件通过调用以下两种接口,可以删除数据实例或对应的文件。类名接口名描述ohos.data.preferencesdeletePreferences(context:Context,name:string,callback:AsyncCallback<void>)从缓存中移除已加载的Preferences对象,同时从设备上删除对应的文件。ohos.data.preferencesremovePreferencesFromCache(context:Context,name:string,callback:AsyncCallback<void>):void仅从缓存中移除已加载的Preferences对象,主要用于释放内存。首选项的使用-开发步骤1.准备工作,导入@ohos.data.preferences以及相关的模块到开发环境。importdata_preferencesfrom'@ohos.data.preferences';首选项的使用-开发步骤2.获取Preferences实例。读取指定文件,将数据加载到Preferences实例,用于数据操作。import
UIAbility
from
'@ohos.app.ability.UIAbility';let
preferences
=
null;export
default
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate(windowStage)
{
data_preferences.getPreferences(this.context,'mystore',function
(err,val){
if(err){
console.info(“获取preferences实例失败。"); return;
}
preferences
=
val;
});
}}首选项的使用-开发步骤3.存入数据。使用put方法保存数据到缓存的实例中。preferences.put('startup','auto',function
(err,val){
if(err){
console.info("保存startup键值对失败,失败原因:"+err);
return;
}
console.info(“保存startup键值对成功。");});首选项的使用-开发步骤4.读取数据。使用get方法读取数据。preferences.get('startup','default',function
(err,val){
if(err){
console.info("读取startup键值对失败,失败原因:"+err);
return;
}
console.info("读取startup的数据为:"+val);});首选项的使用-开发步骤5.数据持久化。应用存入数据到Preferences实例后,可以通过flush方法将Preferences实例回写到文件中。preferences.flush();首选项的使用-开发步骤6.订阅数据变更。应用订阅数据变更需要指定observer作为回调方法。订阅的Key的值发生变更后,当执行flush方法时,observer被触发回调。let
observer
=
function
(key)
{
console.info("The
key"
+
key
+
"
changed.");}preferences.on('change',
observer);//
数据产生变更,由'auto'变为'manual'preferences.put('startup',
'manual',
function
(err)
{
if
(err)
{
console.info("保存startup键值对失败,失败原因:"
+
err);
return;
}
console.info(“保存startup键值对成功。");
preferences.flush(function
(err)
{
if
(err)
{
console.info(“flush失败,原因:
"
+
err);
return;
}
console.info(“flush成功。”);
//
触发observer方法调用.
})})首选项的使用-开发步骤7.删除指定文件。使用deletePreferences方法从内存中移除指定文件对应的Preferences单实例,并删除指定文件及其备份文件、损坏文件。删除指定文件时,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题。删除后,数据及文件将不可恢复。da
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 城市噪声污染治理的策略及实施路径
- 小商贸公司管理制度
- 标识牌安全管理制度
- 档案存放与管理制度
- 检测场设备管理制度
- 检验校准品管理制度
- 槽车进出厂管理制度
- 歺饮店前厅管理制度
- 母婴连锁店管理制度
- 毛花柱日常管理制度
- 消防监理实施规划
- 检验批划分专项方案
- 外科学基本理论与实践智慧树知到答案章节测试2023年陕西中医药大学
- QSS G4411-B合成纤维吊装带安全使用及报废标准
- 糖尿病足溃疡感染的抗生素治疗
- 2023子宫内膜异位症治疗指南
- TCIE 088-2020 非水冷板式间接液冷数据中心设计规范
- GB/T 22315-2008金属材料弹性模量和泊松比试验方法
- 2022年宁夏宁东开发投资有限公司招聘笔试试题及答案解析
- 部编版高一上册语文第三课《百合花》课文原文教案及知识点
- 北京理工附中小升初分班考试真题
评论
0/150
提交评论