HarmonyOS鸿蒙学习笔记18类似Android-SharedPreferences保存数据
目录
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
}
})