1 Star 0 Fork 5.2K

OpenHarmony-build / docs

forked from OpenHarmony / docs 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
js-apis-data-storage.md 82.34 KB
一键复制 编辑 原始数据 按行查看 历史
zengyawen 提交于 2021-11-10 20:02 . add arkui

轻量级存储

轻量级存储为应用提供key-value键值型的文件数据处理能力,支持应用对数据进行轻量级存储及查询。数据存储形式为键值对,键的类型为字符串型,值的存储数据类型包括数字型、字符型、布尔型。

说明: 从 API Version 6 开始支持。

导入模块

import dataStorage from '@ohos.data.storage';

权限

属性

名称

参数类型

可读

可写

说明

MAX_KEY_LENGTH

string

key的最大长度限制,大小为80字节。

MAX_VALUE_LENGTH

string

string类型value的最大长度限制,大小为8192字节。

dataStorage.getStorageSync

getStorageSync(path: string): Storage

读取指定文件,将数据加载到Storage实例,用于数据操作,此方法为同步方法。

  • 参数:

    参数名

    类型

    必填

    说明

    path

    string

    应用程序内部数据存储路径。

  • 返回值:

    类型

    说明

    Storage

    获取到要操作的Storage实例,用于进行数据存储操作。

  • 示例:

    const PATH = '{storage_path_name_in_working_folder}';
    let store = dataStorage.getStorageSync(PATH);

dataStorage.getStorage

getStorage(path: string, callback: AsyncCallback<Storage>): void

读取指定文件,将数据加载到Storage实例,用于数据操作,使用callback形式返回结果。

  • 参数:

    参数名

    类型

    必填

    说明

    path

    string

    应用程序内部数据存储路径。

    callback

    AsyncCallback<Storage>

    回调函数。

  • 示例:

    dataStorage.getStorage(PATH, function(err, data) {    
       store = data;
    });

dataStorage.getStorage

getStorage(path: string): Promise<Storage>

读取指定文件,将数据加载到Storage实例,用于数据操作,使用Promise方式作为异步方法。

  • 参数:

    参数名

    类型

    必填

    说明

    path

    string

    应用程序内部数据存储路径。

  • 返回值:

    类型

    说明

    Promise<Storage>

    Promise实例,用于异步获取结果。

  • 示例:

    const promise = dataStorage.getStorage(PATH);
    promise.then((data) => {   
       data.clearSync();
    }).catch((err) => {
    });

dataStorage.deleteStorageSync

deleteStorageSync(path: string): void

从内存中移除指定文件对应的Storage单实例,并删除指定文件及其备份文件、损坏文件。删除指定文件时,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题,此方法为同步方法。

  • 参数:

    参数名

    类型

    必填

    说明

    path

    string

    应用程序内部数据存储路径。

  • 示例:

    dataStorage.deleteStorageSync(PATH);

dataStorage.deleteStorage

deleteStorage(path: string, callback: AsyncCallback<Storage>)

从内存中移除指定文件对应的Storage单实例,并删除指定文件及其备份文件、损坏文件。删除指定文件时,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题,使用callback方式作为异步方法。

  • 参数:

    参数名

    类型

    必填

    说明

    path

    string

    应用程序内部数据存储路径。

    callback

    AsyncCallback<Storage>

    回调函数。

  • 示例:

    dataStorage.deleteStorage(PATH, function(err, data) {
    });

dataStorage.deleteStorage

deleteStorage(path: string): Promise<void>

从内存中移除指定文件对应的Storage单实例,并删除指定文件及其备份文件、损坏文件。删除指定文件时,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题,使用promise方式作为异步方法。

  • 参数:

    参数名

    类型

    必填

    说明

    path

    string

    应用程序内部数据存储路径。

  • 返回值:

    类型

    说明

    Promise<void>

    Promise实例,用于异步获取结果。

  • 示例:

    const promise = dataStorage.deleteStorage(PATH);
    promise.then((data) => {   
    }).catch((err) => {
    });

dataStorage.removeStorageFromCacheSync

removeStorageFromCacheSync(path: string): void

从内存中移除指定文件对应的Storage单实例。移除Storage单实例时,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题。

此方法为同步方法。

  • 参数:

    参数名

    类型

    必填

    说明

    path

    string

    应用程序内部数据存储路径。

  • 示例:

    dataStorage.removeStorageFromCacheSync(PATH);

dataStorage.removeStorageFromCache

removeStorageFromCache(path: string, callback: AsyncCallback<Storage>): void

从内存中移除指定文件对应的Storage单实例。移除Storage单实例时,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题。

此方法为异步方法。

  • 参数:

    参数名

    类型

    必填

    说明

    path

    string

    应用程序内部数据存储路径。

    callback

    AsyncCallback<Storage>

    回调函数。

  • 示例:

    dataStorage.removeStorageFromCache(PATH, function(err, data) {
    });

dataStorage.removeStorageFromCache

removeStorageFromCache(path: string): Promise<void>

从内存中移除指定文件对应的Storage单实例。移除Storage单实例时,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题。

此方法为异步方法。

  • 参数:

    参数名

    类型

    必填

    说明

    path

    string

    应用程序内部数据存储路径。

  • 返回值:

    类型

    说明

    Promise<void>

    Promise实例,用于异步获取结果。

  • 示例:

    const promise = dataStorage.removeStorageFromCache(PATH);
    promise.then((data) => {   
    }).catch((err) => {
    });

Storage

提供获取和修改存储数据的接口。

getSync

getSync(key: string, defValue: ValueType): ValueType

获取键对应的值,如果值为null或者非默认值类型,返回默认数据。

此方法为同步方法。

  • 参数:

    参数名

    类型

    必填

    说明

    key

    string

    要获取的存储key名称。它不能为空。

    defValue

    ValueType

    给定key的存储不存在,则要返回的默认值。支持number、string、boolean。

  • 返回值:

    类型

    说明

    ValueType

    键对应的值,如果值为null或者非默认值类型,返回默认数据。

  • 示例:

    let ret = store.getSync(key, 'defValue');

get

get(key: string, defValue: ValueType, callback: AsyncCallback<ValueType>): void

获取键对应的值,如果值为null或者非默认值类型,返回默认数据。

此方法为异步方法。

  • 参数:

    参数名

    类型

    必填

    说明

    key

    string

    要获取的存储key名称。它不能为空。

    defValue

    ValueType

    默认返回值。支持number、string、boolean。

    callback

    AsyncCallback<ValueType>

    回调函数。

  • 示例:

    store.get(key, 'test', function(err, data) {    
        console.info(data);
    });

get

get(key: string, defValue: ValueType): Promise<ValueType>

获取键对应的值,如果值为null或者非默认值类型,返默认数据。

此方法为异步方法。

  • 参数:

    参数名

    类型

    必填

    说明

    key

    string

    要获取的存储key名称。它不能为空。

    defValue

    ValueType

    默认返回值。支持number、string、boolean。

  • 返回值:

    类型

    说明

    Promise<ValueType>

    Promise实例,用于异步获取结果。

  • 示例:

    const promise = store.get(key, 'test');
    promise.then((data) => {   
        console.info(data);
    }).catch((err) => {
    });

putSync

putSync(key: string, value: ValueType): void

首先获取指定文件对应的Storage实例,然后借助Storage API将数据写入Storage实例,通过flush或者flushSync将Storage实例持久化。

此方法为同步方法。

  • 参数:

    参数名

    类型

    必填

    说明

    key

    string

    要修改的存储的key。它不能为空。

    value

    ValueType

    存储的新值。支持number、string、boolean。

  • 示例:

    let data = store.putSync(key, 'defValue');

put

put(key: string, value: ValueType, callback: AsyncCallback<void>): void

首先获取指定文件对应的Storage实例,然后借助Storage API将数据写入Storage实例,通过flush或者flushSync将Storage实例持久化。

此方法为异步方法。

  • 参数:

    参数名

    类型

    必填

    说明

    key

    string

    要修改的存储的key。它不能为空。

    value

    ValueType

    存储的新值。支持number、string、boolean。

    callback

    AsyncCallback<void>

    回调函数。

  • 示例:

    store.put(key, 'test', function(err, data) {    
    });

put

put(key: string, value: ValueType): Promise<void>

首先获取指定文件对应的Storage实例,然后借助Storage API将数据写入Storage实例,通过flush或者flushSync将Storage实例持久化。

此方法为异步方法。

  • 参数:

    参数名

    类型

    必填

    说明

    key

    string

    要修改的存储的key。它不能为空。

    value

    ValueType

    存储的新值。支持number、string、boolean。

  • 返回值:

    类型

    说明

    Promise<void>

    Promise实例,用于异步处理。

  • 示例:

    const promise = store.put(key, 'test');
    promise.then((data) => {   
    }).catch((err) => {
    });

hasSync

hasSync(key: string): boolean

检查存储对象是否包含名为给定key的存储。

此方法为同步方法。

  • 参数:

    参数名

    类型

    必填

    说明

    key

    string

    要获取的存储key名称。它不能为空。

  • 返回值:

    类型

    说明

    boolean

    true 表示存在,false表示不存在。

  • 示例:

    let ret = store.hasSync(key);

has

has(key: string, callback: AsyncCallback<boolean>): boolean

检查存储对象是否包含名为给定key的存储。

此方法为异步方法。

  • 参数:

    参数名

    类型

    必填

    说明

    key

    string

    要获取的存储key名称,不能为空。

    callback

    AsyncCallback<boolean>

    回调函数。

  • 返回值:

    类型

    说明

    boolean

    true表示存在,false表示不存在。

  • 示例:

    store.has(key, function(err, data) {   
        console.info(data);
    });

has

has(key: string): Promise<boolean>

检查存储对象是否包含名为给定key的存储。

此方法为异步方法。

  • 参数:

    参数名

    类型

    必填

    说明

    key

    string

    要获取的存储key名称。它不能为空。

  • 返回值:

    类型

    说明

    Promise<boolean>

    Promise实例,用于异步处理。

  • 示例:

    const promise = store.has(key);
    promise.then((data) => {   
        console.info(data);
    }).catch((err) => {
    });

deleteSync

deleteSync(key: string): void

从存储对象中删除名为给定key的存储。

此方法为同步方法。

  • 参数:

    参数名

    类型

    必填

    说明

    key

    string

    要获取的存储key名称。它不能为空。

  • 示例:

    store.deleteSync(key);

delete

delete(key: string, callback: AsyncCallback<void>): void

从存储对象中删除名为给定key的存储。

此方法为异步方法。

  • 参数:

    参数名

    类型

    必填

    说明

    key

    string

    要获取的存储key名称,不能为空。

    callback

    AsyncCallback<void>

    回调函数。

  • 示例:

    store.delete(key, function(err, data) {   
    });

delete

delete(key: string): Promise<void>

从存储对象删除名为给定key的存储。

此方法为异步方法。

  • 参数:

    参数名

    类型

    必填

    说明

    key

    string

    要获取的存储key名称。

  • 返回值:

    类型

    说明

    Promise<void>

    Promise实例,用于异步处理。

  • 示例:

    const promise = store.delete(key);
    promise.then((data) => {   
    }).catch((err) => {
    });

flushSync

flushSync(): void

将当前storage对象中的修改保存到当前的storage,并同步存储到文件中。

此方法为同步方法。

  • 示例:

    store.flushSync();

flush

flush(callback: AsyncCallback<void>): void

将当前storage对象中的修改保存到当前的storage,并异步存储到文件中。

此方法为异步方法。

  • 参数:

    参数名

    类型

    必填

    说明

    callback

    AsyncCallback<void>

    回调函数。

  • 示例:

    store.flush(function(err, data) {   
    });

flush

flush(): Promise<void>

将当前storage对象中的修改保存到当前的storage,并异步存储到文件中。

此方法为异步方法。

  • 返回值:

    类型

    说明

    Promise<void>

    Promise实例,用于异步处理。

  • 示例:

    const promise = store.flush();
    promise.then((data) => {   
    }).catch((err) => {
    });

clearSync

clearSync(): void

清除此存储对象中的所有存储。

此方法为同步方法。

  • 示例:

    store.clearSync();

clear

clear(callback: AsyncCallback<void>): void

清除此存储对象中的所有存储。

此方法为异步方法。

  • 参数:

    参数名

    类型

    必填

    说明

    callback

    AsyncCallback<void>

    回调函数。

  • 示例:

    store.clear(function(err, data) {   
    });

clear

clear(): Promise<void>

清除此存储对象中的所有存储。

此方法为异步方法。

  • 返回值:

    类型

    说明

    Promise<void>

    Promise实例,用于异步处理。

  • 示例:

    const promise = store.clear();
    promise.then((data) => {   
    }).catch((err) => {
    });

on('change')

on(type: 'change', callback: Callback<StorageObserver>): void

监听者类需要实现StorageObserver接口,当数据发生改变时,监听者的 StorageObserver#onChange会被回调。

  • 参数:

    参数名

    类型

    说明

    type

    string

    事件类型,固定值'change',表示数据变更。

    callback

    Callback<StorageObserver>

    需要监听的回调对象实例。

  • 示例:

    var observer = function (data) {  
        console.info(data);  
    };
    store.on('change', observer);

off('change')

off(type: 'change', callback: Callback<StorageObserver>): void

监听者类需要实现StorageObserver接口,当不再进行数据监听时,使用此接口取消监听。

  • 参数:

    参数名

    类型

    说明

    type

    string

    事件类型,固定值'change',表示数据变更。

    callback

    Callback<StorageObserver>

    需要取消的回调对象实例。

  • 示例:

    var observer = function (data) {  
        console.info(data);  
    };
    store.off('change', observer);

StorageObserver

名称

参数类型

必填

说明

key

string

变更的数据内容。

1
https://gitee.com/openharmony-build/docs.git
git@gitee.com:openharmony-build/docs.git
openharmony-build
docs
docs
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891