HarmonyOS鸿蒙学习笔记(18)类似Android SharedPreferences保存数据
类似Android SharedPreferences保存数据
- 前言
- 引入dataStorage和featureAbility
- 保存数据
- 读数据
前言
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@Componentstruct 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 } })