数据有两个基本的分类,应用数据和用户数据,而用户数据则为由用户拥有的数据,如文档,音乐或电子邮件等,下面将大致的介绍一下应用数据的基本操作。

应用数据:应用数据包含APP的状态信息(如运行时状态,用户设置等),包括设置和文件,应用数据在应用程序安装时有自己的存储区域,而在卸载时会清空

  • 设置:存储用户首选项和应用程序状态,可存储多种数据类型
    • UInt8、Int16、UInt16、Int32、UInt32、Int64、UInt64、Single、Double
    • Boolean
    • Char16 和 String
    • DateTime 和 TimeSpan
    • GUID、Point、Size、Rect
    • ApplicationDataCompositeValue:一组必须按原子方式序列化和反序列化的相关应用设置。使用复合设置可轻松处理相互依赖的设置的原子更新。系统会在并发访问和漫游时确保复合设置的完整性。复合设置针对少量数据进行了优化,如果将它们用于大型数据集,性能可能很差。
  • 文件:使用文件存储二进制文件,或自定义的序列化类型

上面提到过应用数据包括设置和文件

而应用数据根据存储的性质又分为三类:

  • 本地数据
  • 漫游数据:用户可轻松地在多个设备之间保持应用的应用数据同步
  • 临时数据:临时应用数据存储类似于缓存

所以相应的就有本地设置和本地文件,漫游设置和漫游文件,临时设置和临时文件

不同类型的设置和文件的API如下:

  • 本地设置:ApplicationData.Current.LocalSettings
  • 本地文件:ApplicationData.Current.LocalFolder
  • 漫游设置:ApplicationData.Current.RoamingSettings
  • 漫游文件:ApplicationData.Current.RoamingFolder
  • 临时设置:ApplicationData.Current.TemporarySettings
  • 临时文件:ApplicationData.Current.TemporaryFolder

设置的基本操作

设置是一个ApplicationDataContainer类型的对象,关于ApplicationDataContainer类的介绍请参照官方文档 ,这里只是介绍一些简单的操作。

简单设置

     ApplicationDataContainer localSettings = ApplicationData.Current.LocalSettings;//获取本地设置,你也可以获取漫游设置和临时设置,后面的操作都一样
localSettings.Values["theme"] = "Light";//在本地设置中添加一个设置项,类似字典赋值方式,theme是localSettings里面的key,而"Light"是值,可以设置的类型在上面已经列出
localSettings.Values.Remove("theme");//删除设置项
string theme = localSettings.Values["theme"] as string;//读取设置项 ApplicationDataCompositeValue simpleSettings = new ApplicationDataCompositeValue();//创建简单设置的容器
simpleSettings["theme"] = "Light";
simpleSettings["FontFamily"] = "微软雅黑";
localSettings.Values["SimpleSettings"] = simpleSettings;//将复合设置项添加到上面获取的本地设置中 ApplicationDataCompositeValue advanceSettings = new ApplicationDataCompositeValue();//创建简单设置的容器
advanceSettings["IsSync"] = false;
localSettings.Values["AdvanceSettings"] = advanceSettings;

这样就可以实现设置项的复合操作,具体操作参照:https://msdn.microsoft.com/zh-cn/library/windows/apps/xaml/windows.storage.applicationdatacontainer.aspx

文件的基本操作

与文件操作相关的两个基本的类是StorageFile和StorageFolder

            StorageFolder folder = ApplicationData.Current.LocalFolder;//获得本地文件夹
StorageFile file = await folder.CreateFileAsync("first.txt", CreationCollisionOption.OpenIfExists);//创建文件
await FileIO.WriteTextAsync(file, "文本的内容");//使用FileIO将字符串写入文件 StorageFile fileOpen = folder.GetFileAsync("first.txt");
string content = await FileIO.ReadTextAsync(fileOpen);//读取文本

以上操作稍作修改就可应用于漫游数据和临时数据,漫游数据可以实现多设备间的数据同步,但是数据同步有一定的条件。临时数据类似于缓存,可用于保存一些缓存数据,如微博里的图片缓存等,系统维护时会自动删除,或者可以随时手动删除。

除了对数据的操作之外,你也可以对数据进行版本控制:使用Application.Version属性和ApplicationData.SetVersionAsync

【转载】UWP应用设置和文件设置:科普的更多相关文章

  1. [转载]linux下core文件设置与查看

    转自:https://blog.csdn.net/dingqinghui/article/details/77855330?locationNum=9&fps=1 linux下core文件设置 ...

  2. 转载:windiws server 2008R2 IIS7.5 设置win7 IIS7设置,文件夹权限配置,Authenticated Users,支持asp temp

    第一步,进入控制面板,点击程序图标 第二步,点击打开或关闭Windows功能 第三步,勾选Internet信息服务全部功能,或根据需要,点击确定,安装 第四步,进入控制面板,点击管理工具 第五步,点击 ...

  3. Beyond Compare 设置打开文件的默认编码

    转载:http://www.note4u.info/archives/360 Beyond Compare 每次打开都会以西欧(windows)打开文件,在有中文的地方,经常出现乱码.但是设置每个文件 ...

  4. 【转载】 IIS服务器防盗链设置

    在实际运行的服务器环境中,我们自己网站中的资源一般不希望被外部网站引用,被外部网站引用IIS网站中的资源文件,一是会加重了服务器的负担,二是占用了你自己服务器的外网带宽资源,因此我们希望防止盗链这种情 ...

  5. UWP入门(四)--设置控件样式

    原文:UWP入门(四)--设置控件样式 官方定义:可以使用 XAML 框架通过多种方式自定义应用的外观. 通过样式可以设置控件属性,并重复使用这些设置,以便保持多个控件具有一致的外观. 可分享至不同e ...

  6. win7下exe文件设置为开机启动

    如何将自己的exe程序设置为开机自启动 如何将自己的exe程序设置为开机自启动 将自己的exe程序设置为开机自启动话不多说,直接看 首先1:cmd—>regedit 其次找到下面的路径就可以:( ...

  7. 选择“保留window设置、个人文件及应用”或者“升级安装windows并保留文件设置和应用程序”的 处理干净以后用ghost备份

    个人经验 第一次装好以后 把所有常用软件什么的 还有系统的更新全部装好 删去乱七八糟的临时文件啊什么的 处理干净以后用ghost备份下次需要重装直接从ghost镜像恢复 然后更新软件 打补丁 再备份 ...

  8. eclipse中关联文件设置方法

    在前几次的试验中,只是做了处于应用程序最上层的界面设计,其实还不知程序在运行过程中到底调用了哪些函数,这些函数是怎么实现的,由于搭建环境时没有进行文件关联,所以在环境中无法实现ctrl键+左击鼠标的方 ...

  9. Tomcat编码问题及访问软链接文件设置

    Tomcat编码问题及访问软链接文件设置 一.编码问题:让其支持UTF-8格式 修改tomcat中server.xml Connector port=" protocol="org ...

随机推荐

  1. 提取html里面url()导入的图片正则表达式

    之前写过一次,后来无意发现还是有问题,比如 <a onclick="openZoosUrl('chatwin','param'); 这个click事件函数里面就有url()部分,造成了 ...

  2. 1、R-reshape2-cast

    1.cast:     长型数据转宽型数据 (1).acast,dcast的区别在于输出结果.acast 输出结果为vector/matrix/array,dcast 输出结果为data.frame. ...

  3. day5 面向对象

    面向对象的特征 封装(encapsulation) 继承(inheritance) 多态(polymorphism) 开发的过程:其实就是不断的创建对象,使用对象,指挥对象做事情. 设计的过程:其实就 ...

  4. wxGlade的图标,原来是来自蒙德里安的名画!

    一直用wxGlade做GUI的,今天突然发现它的图标和一副油画很像. wxGlade的图标,图标的文件名竟然就叫做mondrian.ico 蒙德里安创造了很多这种纯粹的基本要素的作品,下面是其中之一, ...

  5. 附近wifi都是你的

    今天给大家介绍deauth攻击. 最终效果:附近你指定的任何wifi,别人都无法连接,即便连接上的也会断掉. 由于我在 “世界虽大,但没有破不了的wifi”  这篇文章中写的很详细,所以我在这里就步详 ...

  6. ubuntu: 终端全屏快捷键

    ubuntu12.04终端全屏 (2012-06-08 19:49:04) 转载▼ 进入终端全屏: ctrl+alt+f1 ctrl+alt+f2 ctrl+alt+f3 ctrl+alt+f4 ct ...

  7. POJ - 2411 Mondriaan's Dream(轮廓线dp)

    Mondriaan's Dream Squares and rectangles fascinated the famous Dutch painter Piet Mondriaan. One nig ...

  8. Apache Shiro知识点总览

    名词解释 权限认证 授权 ini文件配置 jsp标签授权 Shiro会话机制 自定义Realm 加密.解密 特性 与spring整合 名词解释 Subject:认证主体 Reaml:认证来源[jdbc ...

  9. C++11之lambda表达式应用

    应用 foreach语句中 #include <time.h> #include <algorithm> using namespace std; void func(int ...

  10. Java之Spring Cloud概念介绍(非原创)

    文章大纲 一.理解微服务二.Spring Cloud知识介绍三.Spring Cloud全家桶四.参考资料下载五.参考文章 一.理解微服务   我们通过软件架构演进过程来理解什么是微服务,软件架构的发 ...