//1写入
onWindowStageCreate(windowStage: window.WindowStage): void {
// Main window is created, set main page for this ability
hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onWindowStageCreate');
preferencesUtil.init(this.context)
preferencesUtil.put('MineList',MineList)
}
//2读取
@Entry
@ComponentV2
struct Index {
@Local list: MineModel[] = []
@Local str: string = ''
aboutToAppear(): void {
this.list = preferencesUtil.get('MineList') as MineModel[]
}
}
//3 新建PreferencesUtil
import { preferences } from "@kit.ArkData";
import { common } from "@kit.AbilityKit";
import { MineModel } from "../MineModel";
class PreferencesUtil {
dataPreferences: preferences.Preferences | null = null;
static instance: PreferencesUtil
constructor() {
}
static getInstance() {
if (!PreferencesUtil.instance) {
PreferencesUtil.instance = new PreferencesUtil()
}
return PreferencesUtil.instance
}
init(context: common.UIAbilityContext,) {
let options: preferences.Options = { name: 'myStore', storageType: preferences.StorageType.GSKV };
try {
this.dataPreferences = preferences.getPreferencesSync(context, options);
} catch (error) {
// TODO: Implement error handling.
}
}
put(k: string, v: MineModel[]) {
this.dataPreferences?.putSync(k, v);
this.dataPreferences?.flush()
}
get(k: string) {
return this.dataPreferences?.getSync(k, '')
}
des(k:string){
this.dataPreferences?.deleteSync(k)
this.dataPreferences?.flush()
}
}
export const preferencesUtil = PreferencesUtil.getInstance()
// export type { PreferencesUtil }