数据管理:
- 首选项
- 关系型数据库
- 分布式数据服务
- 分布式数据对象
首选项
首选项Perferences, 适用于key-value接口的数据进行存取和持久化操作。
key不能重复,是非空且长度不超过80个字节。
当value为string时,允许为空,字符长度不超过8192个字节。
因为Perferences实例会加载到内存中,建议存储的数据不超过一万条。
import dataPreferences from '@ohos.data.preference';
// 创建首选项: onCreate(want, launchParam)
PreferencesUtil.createFontPreferences(this.context);
// globalThis全局对象中,定义了一个函数getFontPreferences,用来获取Preferences 实例。
// 它有get,put,has,delete,flush等方法。
createPerferences(context) {
globalThis.getFontPreferences = (()=> {
let perferences: Promise<dataPreferenes.Preferences>
= dataPreferences.getPreferences(context, 'myPerferences');
return perferences;
})
}
saveFontSize(fontSize: number) {
// 异步操作
globalThis.getFontPreferences().then (async(preferences) => {
await preferences.put('KEY_FONT_SIZE', fontSize);
preferences.flush();
}).catch((err) => {
Logger.error(TAG, 'Put the fontSize ailed,err:' + err);
});
}
// SetFontSizePage.ets
build() {
Row() {
Slider({
...
}).onChange((value: number) => {
// 保存当前进度值
PreferencesUtil.saveChangeFontSize(this.changeFontSize);
})
}
}
getFontSize() {
let fontSize:number = 0;
const preferences = await globalThis.getFontPreferences();
fontSize = await preferences.get('KEY_FONT_SIZE', fontSize);
return fontSize;
}
// HomePage.ets
onPageShow() {
PreferencesUtil.getFontSize().then((value) => {
this.changeFontSize = value;
Logger.info(TAG, 'Get the value of changeFontSize: ' + this.changeFontSize);
});
}