HarmonyOS鸿蒙学习笔记(18)类似Android SharedPreferences保存数据

类似Android SharedPreferences保存数据

前言

android系统由SharedPreferences用来保存数据,HarmonyOS也有类似的手段保存一些数据,释放用法如下

引入dataStorage和featureAbility

引入@ohos.data.storage@ohos.ability.featureAbility两个包,本篇博文版本是3.1.6.6

//3.1.6.6版本
import dataStorage from '@ohos.data.storage';
//3.1.6.6版本
import featureAbility from '@ohos.ability.featureAbility'

@Entry
@Component
struct MyPage {
    
    
}

保存数据

1、先通过featureAbility获取上下文。
2、再通过上下文的getFilesDir获取路径,路径为/data/user/0/yourPackageName/files
3、调用dataStoragew完成数据存储

  //异步操作
  async saveData() {
    
    
    //获取上下文
    var context = featureAbility.getContext()
    //获取路径:/data/user/0/com.example.savedata/files
    var path = await context.getFilesDir()
    let storage = dataStorage.getStorageSync(path + '/myStore')
    storage.putSync("myData", "false")
    类似于SharePreference的apply()
    storage.flushSync()
  }

读数据

异步获取数据

  async getData() {
    
    
    var context = featureAbility.getContext()
    var path = await context.getFilesDir()
    let storage = dataStorage.getStorageSync(path + '/myStore')
    let result = storage.getSync("myData", "true");//第二个参数为默认值
    return result === 'true' ? true : false;
  }

因为getData方法是异步的,我们可以这么调用getData方法:

getData().then((value) => {
    
    
      if (value) {
    
    
       //doSomething
      }
    })

猜你喜欢

转载自blog.csdn.net/chunqiuwei/article/details/129797751