OpenHarmony三方组件:MMKV

Handpc
发布于 2023-3-16 11:25
浏览
0收藏

介绍

一款小型键值对存储框架

  • 支持存储 number、boolean、string、Set类型数据存储
  • 支持继承组件中 SerializeBase.ets 的 class 类对象的序列化反序列化
  • 支持存储数据备份
  • 支持存储数据恢复
  • 支持系统 API dataStorage 存储数据转移存到 mmkv 存储文件中

下载安装

npm install @ohos/MMKV --save

OpenHarmony npm 环境配置等更多内容,请参考参考安装教程 ​​如何安装 OpenHarmony npm 包​

使用

1、初始化:设置 mmkv 保存文件根目录(rootPath)和缓存目录(cachePath)

MMKV.initialize(rootPath, cachePath)

2、实例化 mmkv:

let mmkv = MMKV.getBackedUpMMKVWithID(mmapID, MMKV.SINGLE_PROCESS_MODE, "Tencent MMKV", backupRootDir);

3、存取键值对数据:

3.1 常用数据类型:boolean、number、string、Set

存数据示例:

mmkv.encodeBool('abool', false)
mmkv.encodeNumber('anumber', 3.0122)
mmkv.encodeString('astring', 'dsfsg')
let set1 = new Set<string>()
set1.add('ass1')
mmkv.encodeSet('aSet', set1)

取数据示例:

mmkv.decodeBool('abool')
mmkv.decodeNumber('astring')
mmkv.decodeString('aNumber')
mmkv.decodeSet('aSet')

3.2 类对象数据的序列化反序列化

类对象需要继承 SerializeBase类,需序列化属性需要标识注解@Serialize() 如:

class MyClass extends SerializeBase{
    @Serialize()
    public code: number = 0;
    public title: string = 'titles';
    @Serialize()
    public description: string = 'descs';
}

存数据:

let myClass1 = new MyClass(1, 't1', 'desc1')
kv.encodeSerialize('serialize111', myClass1)

取数据:

let myClass2 = kv.decodeSerialize('serialize111', new MyClass())

4、系统轻量级存储数据转存为mmkv存储

  • API8适用
    mmkv.dataStorageToMMKV(path) //path:dataStorage存储路径
  • API9及以上适用
    mmkv.preferenceToMMKV(name) //name:preference文件名

5、设置加密密钥

mmkv.reCryptKey('Key_seq_1') //Key_seq_1:加密密钥

6、数据备份

备份otherDir路径mmapID的mmkv存储数据到backupRootDir

MMKV.backupOneToDirectory(mmapID, backupRootDir, otherDir)//mmapID:需要备份的mmapID;backupRootDir:备份到目标路径;otherDir:待备份所在路径

备份全部mmkv存储数据到backupRootDir

MMKV.backupAllToDirectory(backupRootDir) //backupRootDir:备份到目标路径

7、数据恢复

从srcDir恢复mmkv存储数据

MMKV.restoreOneMMKVFromDirectory(mmapID, srcDir, otherDir)//mmapID:需要恢复的mmapID;srcDir:目标路径;otherDir:待备份所在路径

恢复srcDir路径下的全部mmkv存储数据

MMKV.restoreAllFromDirectory(srcDir) //srcDir: 目标路径

8、清除所有存储数据

mmkv.clearAll()

兼容性

支持 OpenHarmony API 9 版本。

目录结构

|----MMMKV
|     |---- entry  # 示例代码文件夹
|     |---- MMMKV  # MMMKV库文件夹
|           |---- index.ets  # 对外接口
|     |---- README.md  # 安装使用方法

贡献代码

使用过程中发现任何问题都可以提 ​​Issue​​​ 给我们,当然,我们也非常欢迎你给我们发 ​​PR​​ 。

开源协议

本项目基于 ​​BSD 3-Clause License​​ ,请自由地享受和参与开源。



文章转载自:​​https://gitee.com/openharmony-tpc/MMKV​

分类
MMKV-master.zip 234.73K 0次下载
收藏
回复
举报
1条回复
按时间正序
/
按时间倒序
wx650bb7bdedd75
wx650bb7bdedd75

不支持API9怎么解决


回复
2023-12-28 09:02:54
回复
    相关推荐