NVS API
概述
Matrix OS 中的 NVS(非易失存储)API 为应用数据提供持久存储,数据在设备重启后仍然保存。数据使用基于哈希的键存储,可以存储任意二进制数据。NVS API 可通过 MatrixOS.NVS
访问,默认已导入。
Python NVS API 实现位于 Applications/Python/PikaPython/MatrixOS_NVS.py,类型提示位于 Applications/Python/PikaPython/_MatrixOS_NVS.pyi。
MatrixOS.NVS.GetSize
def GetSize(hash: int) -> int
获取给定哈希键存储数据的大小。
参数:
hash
(int
):标识存储数据的哈希键
返回值:
int
:存储数据的字节大小,未找到时返回 0
示例:
data_size = MatrixOS.NVS.GetSize(0xDEADBEAF)
if data_size > 0:
print(f"数据大小:{data_size} 字节")
else:
print("此键未找到数据")
MatrixOS.NVS.GetVariable
def GetVariable(hash: int) -> bytes
检索给定哈希键的存储数据。
参数:
hash
(int
):标识存储数据的哈希键
返回值:
bytes
:作为字节对象的存储数据,未找到时返回空字节
示例:
data = MatrixOS.NVS.GetVariable(0xDEADBEAF)
if data:
print(f"检索到数据:{data}")
else:
print("未找到数据")
MatrixOS.NVS.SetVariable
def SetVariable(hash: int, data: bytes) -> bool
使用给定的哈希键存储数据。
参数:
hash
(int
):用于标识数据的哈希键data
(bytes
):要存储的数据
返回值:
bool
:成功时返回 True,错误时返回 False
示例:
data_to_store = b"你好,持久世界!"
success = MatrixOS.NVS.SetVariable(0xDEADBEAF, data_to_store)
if success:
print("数据存储成功")
else:
print("存储数据失败")
MatrixOS.NVS.DeleteVariable
def DeleteVariable(hash: int) -> bool
删除给定哈希键的存储数据。
参数:
hash
(int
):标识要删除数据的哈希键
返回值:
bool
:成功时返回 True,键未找到或错误时返回 False
示例:
success = MatrixOS.NVS.DeleteVariable(0xDEADBEAF)
if success:
print("数据删除成功")
else:
print("删除数据失败或键未找到")