<div class="container">
<button type="capsule" onclick="writeTempDatas">临时存数据 userInfo</button>
<button type="capsule" onclick="writeTempDatas2">临时存数据 appInfo</button>
<button type="capsule" onclick="readDatas">读取信息 userInfo</button>
<button type="capsule" onclick="readDatas2">读取信息 appInfo</button>
<button type="capsule" onclick="readAllDatas">读取全部信息</button>
<button type="capsule" onclick="delSpecfiyKeyDatas">从实例中删除指定key数据</button>
<button type="capsule" onclick="delAllKeyDatas">从实例中删除所有key数据</button>
<button type="capsule" onclick="saveDatas">持久化存数据</button>
<button type="capsule" onclick="delSpecfiyPreferences">delete内存中指定的preferences实例</button>
<button type="capsule" onclick="removeSpecfiyPreferences">remove内存中指定的preferences实例</button>
<button onclick="goLogin">去登录页面</button>
</div>
.container {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
left: 0px;
top: 0px;
width: 100%;
height: 100%;
}
button {
width: 100%;
height: 80px;
margin: 20px;
}
import featureAbility from '@ohos.ability.featureAbility'
import dataPreferences from '@ohos.data.preferences'
import router from '@ohos.router'
export default {
data: {
title: ""
},
// 写入 userInfo
writeTempDatas(){
let context = featureAbility.getContext()
// 获取Preference 存储实例,因为 put get flsuh等都是此实例的接口
dataPreferences.getPreferences(context, 'myStore', (err, preferences)=>{
// 要存储的key,存储的值 value
// put 临时的信息,会随着应用的关闭而释放
preferences.put('userInfo', ['xiaoyi','sri'], err=>{
if (!err) {
console.log('muzi,userInfo写入成功')
} else {
console.log('muzi,userInfo写入失败', JSON.stringify(err))
return
}
})
})
},
// 写入 appInfo
writeTempDatas2(){
let context = featureAbility.getContext()
// 获取Preference 存储实例,因为 put get flsuh等都是此实例的接口
dataPreferences.getPreferences(context, 'myStore', (err, preferences)=>{
// 要存储的key,存储的值 value
// put 临时的信息,会随着应用的关闭而释放
preferences.put('appInfo', 100, err=>{
if (!err) {
console.log('muzi,appInfo写入成功')
} else {
console.log('muzi,appInfo写入失败', JSON.stringify(err))
return
}
})
})
},
// 持久化数据 userInfo
saveDatas(){
let context = featureAbility.getContext()
dataPreferences.getPreferences(context, 'myStore', (err, preferences)=>{
preferences.put('userInfo', ['xiaoyi','sri'], err=>{
if (!err) {
console.log('muzi,userInfo写入成功')
// 持久化,异步存储到用户首选项的之旧话文件中 随着应用的卸载而释放
preferences.flush(err=>{
if (!err) {
console.log('muzi,userInfo持久化存储成功')
} else {
console.log('muzi,userInfo持久化存储失败', JSON.stringify(err))
return
}
})
} else {
console.log('muzi,userInfo写入失败', JSON.stringify(err))
return
}
})
})
},
// 读取 userInfo
readDatas(){
let context = featureAbility.getContext()
dataPreferences.getPreferences(context, 'myStore', (err, preferences)=>{
// 要读取的信息key,如果值为null,使用defvalue代替返回值
preferences.get('userInfo', 'userInfo没有数据', (err, value)=>{
if (!err) {
console.log('muzi,userInfo读取成功', value)
} else {
console.log('muzi,userInfo读取失败',JSON.stringify(err))
return
}
})
})
},
// 读取 appInfo
readDatas2(){
let context = featureAbility.getContext()
dataPreferences.getPreferences(context, 'myStore', (err, preferences)=>{
// 要读取的信息key,如果值为null,使用defvalue代替返回值
preferences.get('appInfo', 'appInfo没有数据', (err, value)=>{
if (!err) {
console.log('muzi,appInfo读取成功', value)
} else {
console.log('muzi,appInfo读取失败',JSON.stringify(err))
return
}
})
})
},
// 读取所有信息
readAllDatas(){
let context = featureAbility.getContext()
dataPreferences.getPreferences(context, 'myStore', (err, preferences)=>{
// 要读取的信息key,如果值为null,使用defvalue代替返回值
preferences.getAll((err, value)=>{
if (!err) {
console.log('muzi,读取所有信息成功', JSON.stringify(value))
} else {
console.log('muzi,读取所有信息失败',JSON.stringify(err))
return
}
})
})
},
// 从实例中删除指定key数据
delSpecfiyKeyDatas(){
let context = featureAbility.getContext()
dataPreferences.getPreferences(context, 'myStore', (err, preferences)=>{
// 持久化文件,也会删除掉
preferences.delete('userInfo', err=>{
if (!err) {
console.log('muzi,删除指定key成功')
} else {
console.log('muzi,删除指定key失败',JSON.stringify(err))
return
}
})
})
},
// 从实例中所有指定key数据
delAllKeyDatas(){
let context = featureAbility.getContext()
dataPreferences.getPreferences(context, 'myStore', (err, preferences)=>{
// 清除当前实例中所有的存储
preferences.clear(err=>{
if (!err) {
console.log('muzi,删除所有key成功')
} else {
console.log('muzi,删除所有key失败',JSON.stringify(err))
return
}
})
})
},
// 删除内存中指定的Preferences实例
delSpecfiyPreferences(){
let context = featureAbility.getContext()
// 从内存中移除指定的实例,如果存在持久化文件,也会删除,一旦调用该接口,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题
dataPreferences.deletePreferences(context, 'myStore', (err, preferences)=>{
if (!err) {
console.log('muzi,删除内存中指定的Preferences实例成功')
} else {
console.log('muzi,删除内存中指定的Preferences实例失败',JSON.stringify(err))
return
}
})
},
// 删除内存中指定的Preferences实例
removeSpecfiyPreferences(){
let context = featureAbility.getContext()
// 从内存中移除指定的实例, 不会删除初持久化数据
dataPreferences.removePreferencesFromCache(context, 'myStore', (err, preferences)=>{
if (!err) {
console.log('muzi,删除内存中指定的Preferences实例成功')
} else {
console.log('muzi,删除内存中指定的Preferences实例失败',JSON.stringify(err))
return
}
})
},
// 跳转到登录页
goLogin(){
router.push({
url: 'pages/login/login'
})
}
}