用户首选项封装,持久化数据到磁盘,可以进行增删改查操作

68 阅读1分钟

介绍

用户首选项为应用提供Key-Value键值型的数据处理能力,支持应用持久化轻量级数据,并对其修改和查询。

数据存储形式为键值对,键的类型为字符串型,值的存储数据类型包括数字型、字符型、布尔型以及这3种类型的数组类型。

创建一个首选项管理类

export default class preferencesManage{
//
  private  static store:dataPreferences.Preferences|undefined
//创建实例
  public static createPreference(config:dataPreferences.Options){
    preferencesManage.store=dataPreferences.getPreferencesSync(getContext(),config)
  }
  
  public static getVal<T>(key:string){
  //获取键为key的值
    let val:T=preferencesManage.store?.getSync(key,'default') as T
    return val
  }

  public static setVal<T extends string|number|boolean|Array<string>|Array<boolean>|Array<number>>(key:string,val:T){
    if (preferencesManage.store?.hasSync(key)) {
      console.info("The key 'startup' is contained.");
    } else {
      console.info("The key 'startup' does not contain.");
      // Add a KV pair.
      preferencesManage.store?.putSync(key, val);
      preferencesManage.store?.flush()
      // If the string contains special characters, convert the string into a Uint8Array before storing it.
    }
  }

  public static getAll(){
  //获取实例中的所有值
    return preferencesManage.store?.getAllSync()
  }

  public static delete(key:string){
 
    preferencesManage.store?.deleteSync(key)
  }

  public static deleteStore(key:string){
     //删除实例为key的实例
    preferences.deletePreferences(getContext(),key)
  }

}