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

应用数据:应用数据包含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. xgene:WGS,突变与癌,RNA-seq,WES

     人类全基因组测序06 SNP(single nucleotide polymorphism):有了10倍以上的覆盖深度以后,来确认SNP信息,就相当可靠了. 一个普通黄种人的基因组,与hg19这个参 ...

  2. mysql连接错误解决

    EB101IWSWD-eyJsaWNlbnNlSWQiOiJFQjEwMUlXU1dEIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaWduZWVOYW1lIjoiI ...

  3. 数据库路由中间件MyCat - 使用篇(4)

    此文已由作者张镐薪授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 配置MyCat 3. 配置conf/rule.xml 1.5GA版本中的规则配置比较笨,2.0中优化了一些, ...

  4. header元素 footer元素 hgroup元素

    header元素 header元素是一种具有引航和导航作用的结构元素, 通常用来放置整个页面或页面内的一个内容区块的标题, 但是也可以包含其他内容, 例如数据表格,搜索表单, 或相关的logo图片 h ...

  5. cf813C(bfs)

    题目链接:http://codeforces.com/problemset/problem/813/C 题意:给出一颗树,开始时两个人 Alice 和 Bob 分别站在 1(树根)和 x 处.此后每一 ...

  6. cat命令详解及here doc

    以下内容转自:http://www.cnblogs.com/peida/archive/2012/10/30/2746968.html cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文 ...

  7. 使用echo命令向文件写入内容

    0.前言     本文总结如何使用echo命令向文件中写入内容,例如使用echo指令覆盖文件内容,使用echo指令向文件追加内容,使用echo指令往文件中追加制表符.     echo向文件中输出内容 ...

  8. CC18:二叉树平衡检查

    题目 实现一个函数,检查二叉树是否平衡,平衡的定义如下,对于树中的任意一个结点,其两颗子树的高度差不超过1. 给定指向树根结点的指针TreeNode* root,请返回一个bool,代表这棵树是否平衡 ...

  9. 洛谷1220(区间dp)

    要点 处于什么位置的题常用一个套路就是搞完\([l,r]\)以后处于0(l)或1(r)的状态,即\(dp[i][j][0/1]\). 对于此题dp意义为已经搞完\([l,r]\)的时最小的已耗电能,转 ...

  10. GUI的最终选择 Tkinter(六):Canvas组件

    Canvas组件,是一个可以让你任性的组件,一个可以让你随心所欲地绘制界面的组件.Canvas是一个通用的组件,它通常用于显示和编辑图形,可以用它来绘制直线,圆形,多边形,甚至是绘制其他组件. 在Ca ...