相关api
- 用户首选项: 用户首选项为应用提供Key-Value键值型的数据处理能力,支持应用持久化轻量级数据,并对其修改和查询。
数据存储形式为键值对,键的类型为字符串型,值的存储数据类型包括数字型、字符型、布尔型以及这3种类型的数组类型。
preferencesUtils.ts
import { preferences } from '@kit.ArkData';
import { BusinessError } from '@kit.BasicServicesKit';
let dataPreferences: preferences.Preferences | null = null;
const PreferenceUtil = {
createPreferences() {
preferences.getPreferences(this.context, 'myStore', (err: BusinessError, val: preferences.Preferences) => {
if (err) {
console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message);
return;
}
dataPreferences = val;
console.info("Succeeded in getting preferences.");
})
},
async getPreference(key: string) {
if (!key) {
return
}
if (!dataPreferences) {
await PreferenceUtil.createPreferences();
}
await dataPreferences.get(key, '', (err: BusinessError, val: preferences.ValueType) => {
if (err) {
console.error("Failed to get value" + err.code + ", message =" + err.message);
return;
}
console.log("Succeeded in getting value: " + val);
return val;
})
},
async putPreference(key: string, val: string) {
if (!key || !val) {
return
}
if (!dataPreferences) {
await PreferenceUtil.createPreferences();
}
await dataPreferences.put(key, val, async (err: BusinessError) => {
if (err) {
console.error("Failed to put value:" + err.code + ", message =" + err.message);
return;
}
console.info("Succeeded in putting value: " + val);
await dataPreferences.flush();
})
},
async delPreference(key: string) {
if (!key) {
return
}
if (!dataPreferences) {
await PreferenceUtil.createPreferences();
}
await dataPreferences.delete(key, (err: BusinessError) => {
if (err) {
console.error("Failed to delete the key 'startup'. code =" + err.code + ", message =" + err.message);
return;
}
console.info("Succeeded in deleting");
})
}
}
export default PreferenceUtil;
页面调用
import PreferenceUtil from '../../utils/preferencesUtils';
PreferenceUtil.putPreference('token', token)
PreferenceUtil.getPreference('token')