首选项数据存储
原理简介
如上图,不要被图片吓到,这里我们只需要了解我们要操作的只是Preference这个名字叫用户首选项的东西,我们通过它对轻量级信息进行数据的读写,就是那么简单,不需要了解到它是如何工作的,只需要会用它。
最开始:获取Preference实例
查看官网给出的接口是这样的:getPreferences(context: Context, name: string): Promise
解释一下:我们想要获取到这个实例,第一个参数就是context上下文,上下文相当于操作当前环境的一个参数,里面有配置信息之类的,第二个参数是name,就是给这个首选项实例起个名字,你想叫什么叫什么。
于是我封装了这样一个函数专门去获取这个首选项实例。
context=getContext(this)
getPreference(){
return preferences.getPreferences(this.context,'user')
}
);
这里准备了第一个参数,使用getContext()获得了这个环境的上下文,并给这个首选项名字取为user。
至此,你获得了一个方法可以获取一个叫user的首选项Preference
有了实例,你就可以拿实例去操作一些数据,写进文件,读取数据,删除数据等操作。
存储数据
首选项是如何获取数据的呢?我们用一个很简单的Demo去了解首选项的实际运用。
build() {
Column({
space:20}){
Row({
space:10}){
Text('user').width(50)
TextInput({
text:this.username}).width('70%').margin({
left:10}).onChange((a)=>{
this.username=a
})
}
Button('保存用户名').onClick(()=>{
this.getPreference().then((preference)=>{
preference.put('user',this.username)
preference.flush().catch(()=>{
hilog.error(0x1111,'testtag1','%{public}s','aaaaaaaa')
})
})
.