PersistentStorage持久化存储UI状态在OH 3.2release版本上无效
如题描述,使用PersistentStorage:持久化存储UI状态存储业务配置信息,应用重启后配置信息未保存,还原成初始化数据。 参看案例:PersistentStorage:持久化存储UI状态 操作步骤如下: 1、应用启动,在EntryAbility类发onCreate方法中初始化持
·
如题描述,使用PersistentStorage:持久化存储UI状态存储业务配置信息,应用重启后配置信息未保存,还原成初始化数据。
参看案例:PersistentStorage:持久化存储UI状态
操作步骤如下:
1、应用启动,在EntryAbility类发onCreate方法中初始化持久化数据:
private initNetworkConfig() {
PersistentStorage.PersistProp<string>(KEY_NETWORK_CONFIRM_IP, ADDRESS)
PersistentStorage.PersistProp<number>(KEY_NETWORK_CONFIRM_POST, POST)
}
2、在业务操作之前先获取相关的数据
@StorageLink('network_ip') ip : string = '';
@StorageLink('network_post') post : number = 0;
this.ip = AppStorage.Get<string>(KEY_NETWORK_CONFIRM_IP);
this.post = AppStorage.Get<number>(KEY_NETWORK_CONFIRM_POST);
从上面的代码测试看,可以正常获取到存储的数据,数据值为初始化时的ADDRESS、POST定义的数值。
3、在一个弹窗中修改数据,弹窗内通过@Link装饰器定义变量
@Link ip: string // IP地址
@Link post: number // 端口
// 点击确认后修改变量
this.ip = this.tempIP
this.post = parseInt(this.tempPost)
4、通过回调可以确认ip、post都已经被修改,查看当前界面上修改结果也正确。
5、重启应用,在界面上获取ip、post还是未修改前的默认数值。
请问:PersistentStorage在OH3.2release API9版本上无效?还是这里的写法有问题?
有其他类似的轻量级持久化的方法吗(除数据库外)?
更多推荐
已为社区贡献6条内容
所有评论(0)