鸿蒙开发中级2-数据的简单存储和数据库的使用
这里包含了主要的几个步骤 加载偏好设置的存储值
import preferences from '@ohos.data.preferences'
import debugLog from './LogManager'
class PrefrencesUtil {
prefMap : Map<string, preferences.Preferences> = new Map()
// 加载偏好设置
async loadPrefrences(context: Context, name: string) {
try {
let pref = await preferences.getPreferences(context, name)
this.prefMap.set(name, pref)
debugLog(`加载偏好设置 ${name} 成功`)
} catch (e) {
debugLog(`加载偏好设置 ${name} 失败, 原因是 ${JSON.stringify(e)}}`)
}
}
// 添加偏好设置值
async putPrefrences(name: string, key: string, value: preferences.ValueType) {
if (!this.prefMap.has(name)) {
debugLog(`${name}尚未初始化`)
return
}
try {
let pref = this.prefMap.get(name)
// 写入数据
await pref?.put(key, value)
// 刷新磁盘
await pref?.flush()
debugLog(`保存 ${name} ${key}} = ${value} 成功`)
} catch (e) {
debugLog(`保存偏好设置 ${name} 失败, 原因是 ${JSON.stringify(e)}}`)
}
}
// 获取偏好设置值
async getPrefrenceValue(name: string, key: string, defaultValue: preferences.ValueType) {
if (!this.prefMap.has(name)) {
debugLog(`${name}尚未初始化`)
return Object()
}
try {
let pref = this.prefMap.get(name)
// 写入数据
let value = await pref?.get(key, defaultValue)
debugLog(`读取 ${name} ${key} = ${value} 成功`)
return value
} catch (e) {
debugLog(`保存偏好设置 ${name} 失败, 原因是 ${JSON.stringify(e)}}`)
}
}
// 删除偏好设置值
async deletePrefrenceValue(name: string, key: string) {
if (!this.prefMap.has(name)) {
debugLog(`${name}尚未初始化`)
return Object()
}
try {
let pref = this.prefMap.get(name)
// 删除数据
await pref?.delete(key)
// 刷新下磁盘数据
await pref?.flush()
debugLog(`删除 ${name} ${key} 成功`)
} catch (e) {
debugLog(`删除偏好设置 ${name} 失败, 原因是 ${JSON.stringify(e)}}`)
}
}
}
const prefrencesUtil = new PrefrencesUtil()
export default prefrencesUtil as PrefrencesUtil下面简单的演示下增删改查的操作
// 轻量数据操作 增删改查
Button('增加').onClick(async(event: ClickEvent) => {
await PrefrencesUtil.putPrefrences('MyPrefrences', 'name1', '我修改了小刚')
})
Button('删除').onClick(async(event: ClickEvent) => {
await PrefrencesUtil.deletePrefrenceValue('MyPrefrences', 'name')
})
Button('修改').onClick(async(event: ClickEvent) => {
await PrefrencesUtil.putPrefrences('MyPrefrences', 'name', '我修改了小刚')
})
Button('查找').onClick(async(event: ClickEvent) => {
this.message = await PrefrencesUtil.getPrefrenceValue('MyPrefrences', 'name', '小刚') as string
})
本文是原创文章,完整转载请注明来自 MrXiao's Blog
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果