【转载】UWP应用设置和文件设置:科普

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

应用数据:应用数据包含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

时间: 2024-11-07 12:15:42

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

c++连接数据库的头文件设置

需要的文件: libmysql.dll 头文件设置: 1.新建控制台项目: 2.设置项目属性 C:\Program Files\MySQL\MySQL Server 5.5\include 加入“包含目录” C:\Program Files\MySQL\MySQL Server 5.5\lib 加入“库目录” 3.stdafx.h中加入      3.1#include <winsock.h> //注意顺序,要放在mysql.h前      3.2#include <mysql.h>

linux下的环境文件设置说明

工作环境设置文件 环境设置文件有两种:系统环境设置文件 和 个人环境设置文件 1.系统中的用户工作环境设置文件: 登录环境设置文件:/etc/profile 非登录环境设置文件:/etc/bashrc 2.用户个人设置的环境设置文件: 登录环境设置文件: $HOME/.bash_profile   //这个是环境变量设置的地方 非登录环境设置文件:$HOME/.bashrc       //这个是定义别名的地方 登录环境:指用户登录系统后的工作环境 非登录环境:指用户再调用子shell时所使用的

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

如何将自己的exe程序设置为开机自启动 如何将自己的exe程序设置为开机自启动 将自己的exe程序设置为开机自启动话不多说,直接看 首先1:cmd—>regedit 其次找到下面的路径就可以:(以win10为例)计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\LenovoDisabled(这个是本机电脑的,各电脑不尽相同) 请看流程: 具体文件设置如下: 到这里差不多就结束了,重启下可以试试,彩蛋:相信大家也

django2.2 DEBUG=True/False时如何设置静态文件(image js css等)

目录结构: project ----templates ----app ----manage.py 添加静态资源,目录结构更新为: project ----templates ----app ----static # 静态资源 --------img --------js --------css ----manage.py 以img举例,引用资源的代码为: {% load static %} <img src='{% static "img/favicon.png" %}'/&g

SqlSever基础 设置数据库文件与日志文件的逻辑名称

1 code 1 select * from sysdatabases 2 3 drop database helloworld 4 5 create database helloworld 6 7 --设置mdf文件的属性 8 on primary 9 ( 10 name = 'aHelloWorldLogic', --mdf文件的逻辑名字(不是文件名字) 11 filename = 'C:\Users\Administrator\Desktop\aHelloWorld.mdf', --mdf

vim的.vimrc文件设置

set nocompatibleset autowriteset autoreadset nobackupset noswapfile " --- syntax and indent ---syntax onset tabstop=4set softtabstop=4set shiftwidth=4set autoindentset smartindentset cindentset expandtabset nolinebreakset showmatchset wrap" ---e

SqlSever基础 设置数据库文件与日志文件的初始大小

1 code 1 select from sysdatabases 2 3 drop database helloworld 4 5 create database helloworld 6 7 --设置mdf文件的属性 8 on primary 9 ( 10 name = 'aHelloWorldLogic', --mdf文件的逻辑名字(不是文件名字) 11 filename = 'CUsersAdministratorDesktopaHelloWorld.mdf', --mdf文件的存储路径

SqlSever基础 设置数据库文件与日志文件的大小增长率

1 code 1 select * from sysdatabases 2 3 drop database helloworld 4 5 create database helloworld 6 7 --设置mdf文件的属性 8 on primary 9 ( 10 name = 'aHelloWorldLogic', --mdf文件的逻辑名字(不是文件名字) 11 filename = 'C:\Users\Administrator\Desktop\aHelloWorld.mdf', --mdf

apache的相关设置-给目录或者文件设置用户验证

给目录或者文件设置用户验证 再对应的主机配置文件中加入如下配置: <Directory /data/www/admin.php>    AllowOverride AuthConfig    AuthName "The administrator authentication!"    AuthType Basic    AuthUserFile /data/.htpasswd    require valid-user</Directory> Director