admin 管理员组文章数量: 1184232
前一篇涨姿势 UWP 源码分析从数据源着手,解释了 RSS feed 的获取和解析,本篇则会就数据源的保存和读取进行举例。
和之前的 Windows Runtime 一样, UWP 采用 IsolatedStorage 的方式来存储 APP 的私有数据,这样做到 APP 之间互不干扰,减少了错误及安全隐患。现在的 Application 的设计似乎都流行这个做法。
UWP 中 对应用程序数据存储区的访问 ,通常使用 ApplicationData 这个类来操作,我们把最常用的一些属性列出:
具体在涨姿势 UWP 中,首先通过 ApplicationData.Current.LocalFolder 拿到当前 APP 对应存储空间的根文件夹,然后通过 StorageFolder 对象进行 CreateFile 操作,注意这里选择了 CreationCollisionOption.ReplaceExisting 这个枚举,期望每次都能够用新的 RSS feed 文件覆盖已有的文件。
接下来需要先将需要保存的字符串内容转换成已编码的 buffer 对象,再通过 FileIO.WriteBufferAsync 方法写入之前创建好的文件中。当然你直接 FileIO.WriteTextAsync 也不是不可以, CryptographicBuffer 主要 包含Encode , Decode 等编码相关的方法,可用于加密操作。
UWP 文件存储相关的类,除了上述提到的 Windows.Storage 命名空间下最常用的 StorageFolder 、 StorageFile 和 FileIO ,还有 Windows.Storage.Pickers 命名空间下的各类 Picker , Windows.Storage.Streams 命名空间下的各种 buffer , steam ,熟悉之后用起来还是很方便的。
接着我们看看读取文件内容的操作,同样是找到 LocalFolder ,然后根据文件名去读取 StorageFile ,如果 StorageFile 不为空,就通过 ReadTextAsync 方法来获取存储的文本内容。
文件的保存和读取大致就是以上这些,是不是比想象的简单多了。上周涨姿势 UWP 更新了一版,修复了一些不可告人的小 bug ,优化(或丑化)了部分界面,欢迎来涨姿势。
版权声明:本文标题:从头到尾解析:UWP源码中的IsolatedStorage存储机制 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1773645501a3564324.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论