基本概念:
- 用户首选项为应用提供Key-Value键值型的数据处理能力,支持应用持久化轻量级数据,并对其修改和查询。
- 数据存储形式为键值对,键的类型为字符串型,值的存储数据类型包括数字型、字符型、布尔型以及这3种类型的数组类型。
条件限制:
- Key键为string类型,要求非空且长度不超过1024个字节。
- 如果Value值为string类型,请使用UTF-8编码格式,可以为空,不为空时长度不超过16 * 1024 * 1024个字节。
- 内存会随着存储数据量的增大而增大,所以存储的数据量应该是轻量级的,建议存储的数据不超过一万条,否则会在内存方面产生较大的开销。
使用:
1)获取首选项实例
// 导入 ArkData 模块中的 preferences 接口
import { preferences } from '@kit.ArkData';
// 定义一个 options 对象,用于指定首选项存储的名称
const options: preferences.Options = { name: 'myStore' };
// 使用 getPreferencesSync 方法从指定的上下文和选项中同步获取首选项数据
const dataPreferences = preferences.getPreferencesSync(context, options);
2)写入|修改,并持久化
// 导入 ArkData 模块中的 preferences 接口
import { preferences } from '@kit.ArkData';
// 定义一个 options 对象,用于指定首选项存储的名称
const options: preferences.Options = { name: 'myStore' };
// 使用 getPreferencesSync 方法从指定的上下文和选项中同步获取首选项数据
const dataPreferences = preferences.getPreferencesSync(context, options);
// 将 'startup' 键的值设置为 'auto'
dataPreferences.putSync('startup', 'auto');
// 将更改的数据同步刷新到持久化存储中
dataPreferences.flush();
3)读取
dataPreferences.getSync('startup')
4)删除,并持久化
dataPreferences.deleteSync('startup');
dataPreferences.flush()
5)删除实例
preferences.deletePreferences(context, options)