ApplicationData 划分为三大类数据,我们将那四个体系称为地点:本地、漫游和暂且

驾驭顾客数量和应用程序数据里面包车型地铁差别。顾客数据是指客商在使用应用程序进度中开创和保管的数额,举例客商的文书档案、音乐、视频和图纸。也得以是顾客特别注重或然要在差异应用程序之间分享的任何内容。这类数据应该积累在内部八个
KnownFolder
库中,或使用SkyDrive
API
举行观景。密码应始终使用
PasswordVault
进行仓库储存和出行。本博文所包蕴的限量是那多少个由应用程序成立和治本的数额,举个例子应用程序的安装、首荐项和情形等。下表中总计了客商数据和应用程序数据里面包车型客车分别,以致哪些漫游分化的数量。

用户数据

应用程序数据

可由多个应用程序使用

仅对创建该数据的应用程序有意义

文档、音乐、图片和导出的数据

设置、首选项、环境和应用程序状态

使用 SkyDrive 存储在云端

使用 ApplicationData 漫游

 1、files:

创设只需配备一遍就可以随地使用的经历

作者们先从八个简易地配备二次就可以到处使用的体会开始。若是笔者有那般一个应用程序,它是简轻易单的
LacrosseSS
阅读器,使客户能够用于从风流倜傥多级源中读取项目。查看特定的源时,应用程序会在每页上显示一定数量的品类。作者有三个可供客商配置的安装,名称叫ItemsPerPage,它决定每页上海展览中心示多少个源项目。作者愿意达成的机能是:要是顾客在黄金时代台
PC 上安装此设置,它会漫游到安装了同样应用的其他 PC 上。在
ApplicationData 类中,有三个
RoamingSettings
属性,要出行设置极其简短,只要求将该装置作为叁个值写入 RoamingSettings
中就可以。

   
在应用程序中客商的数目能够积累在文件中。共有多少个地点能够用来存放在文件:

JS:

Windows.Storage.ApplicationData.current.roamingSettings.values[“ItemsPerPage”] = 10

              Windows.Storage.ApplicationData.current.localFolder

C#:

Windows.Storage.ApplicationData.Current.RoamingSettings.Values[“ItemsPerPage”] = 10;

正是如此!全体育联合晤面手艺都由 Windows
管理,小编无需再做任何操作,该装置未来就能够在安装了本身的应用程序的保有客商PC
之间联合。该装置日常在应用程序“设置”拔尖按钮中显示给客户。笔者刚强建议您在暗许意况下旅游全部应用程序设置。某些设置大概是特定于计算机的,不应有保留到旅游地点。

即便您要写入二个文书,并非叁个装置,能够应用应用程序数据中提供的有着相同效果的
RoamingFolder。要是您选择接受文件来旅游数据,请保管在成就写入数据后关门该公文的具有张开句柄。具备开垦句柄的文件不能够漫游。

           Windows.Storage.ApplicationData.current.roamingFolder

设计漫游配额

假定你在应用程序中选拔的都以归纳设置,那么上述剧情就曾经够用满足你的要求了。但只要要环游收藏夹列表、数据集或越来越大方的数额,又该如何?最大能够多大?漫游应用程序数据已针对旅游设置和首推项进行优化,而且还可能有一个面向每一个应用程序的积累分配的定额,适用于那一个项目标数目。该分配的定额的留存是为了适应系统能源。电池寿命长、系统性情好是
Windows 8
的多少个根本特点,而且大家设定的限量能够扶持确认保障在提供上述漫游体验时,这两项都不会有任何损失。您能够运用
ApplicationData 的
RoamingStorageQuota
属性来得到此分配的定额,该属性在写入时大小为 100
KB。在分配的定额内工作的特级艺术是在设计时设计你的应用程序的数额应用,确认保证它不会高于分配的定额。

要是超过了
RoamingStorageQuota,会发出什么样情状?什么也不会生出!更具体地说,不会漫游任何内容。您的应用程序不会暂停,能够持续从观景地点读取数据和向个中写入数据。但直至漫游地方中的漫游数据总和少于
RoamingStorageQuota,该数量才会联合到云端。

不能够得当规划漫游数据利用的应用程序平常遇上的贰个骗局是,它们会漫游内容,并不是周游对剧情的援引。譬如,如若想要漫游一文山会海收藏的音讯小说,应该漫游作品的标志符或
UHavalL,并非完好的小说。漫游可用内容的原有数据并不是对那些剧情的援用会越来越快地用尽分配的定额,产生空间浪费。通过旅游内容的标志符并非实际上内容本人能够更丰硕利用漫游的优势。

安排应用程序时,最棒不用使用辛苦的数量集。像收藏夹列表那样的开放式数据集应加以限定,以使您的应用程序始终维持在骑行分配的定额节制内。我们还用前边提到的
福睿斯SS 源阅读器示例,假诺自身想要保存 SportageSS
源的列表,该列表是由客商管理的。达成那一对象的不二等秘书技是给未有界定的剧情丰硕约束。那要求张开一些揣摸。若是笔者想为
中华VSS 源列表分配 20 KB。为简易起见,笔者做出多少个封建的推断,假如各类 UMuranoL 是
80 字节。根据那一估计,小编能够把 250 个 UENCOREL 塞进 20 KB 中。裁减 U翼虎L
能够把所需空间减到更加小,但 250
很只怕就已经远超小编的应用程序所必要的源数据了。小编只须求将其范围在该值之内,并将自己的源列表写入三个文件,保存在
RoamingFolder 中,就马到功成了。

          Windows.Storage.ApplicationData.current.temporaryFolder

创制跨不一样 PC 的总是体验

你还是能在您的应用程序中增添另意气风发种很帅的观光体验,那就是跨差异 PC
的接连顾客体验!假使某些客户在家园的台式计算机上利用本人的翻阅器获取源,但他赶着出门搭乘公汽。在出门前,她拿起
Windows 8
GALAXY Tab,并张开笔者的应用程序。笔者希望为她提供的体会是让他能够从在台式 PC
上停下的地点持续读取源。达成延续体验就是要保存客户实施操作的情状,并展开旅游。

从效果上来说,这与旅游其他任何设置并无差别样,但这种利用途景与比超级多安装都有一点点差别。顾客可能会十分赶快地导航源,由此该装置大概会再三变动,而任何设置平时不会身不由己这种状态。何况,要提供真正令客户满意的体会,关于顾客最终施行的操作的数码必得十三分正确。为了满意那几个客商的急需,我们针对那样的心得创制了一个经过特地安排的独步一时设置名称
HighPriority。要动用该装置,只需在
RoamingSettings 的根容器少校您的设置命名称叫HighPriority。它的用法与此外装置相像。漫游引擎允许此设置以远快于别的旅游数据的进程漫游,进而令你能够提供客户所需的体会。

要使作者的源阅读器材备那样的效果,笔者只必要漫游源标志符。在应用程序运转时,或当它从挂起状态上升时,小编会检查标志符,并浏览到相应的源。那与小编前面的设置极度相仿,只是该装置名称为HighPriority。

 

JS:

Windows.Storage.ApplicationData.current.roamingSettings.values[“HighPriority”] = currentFeedId;

导读(Local、Roaming、Temporary files):

C#:

Windows.Storage.ApplicationData.Current.RoamingSettings.Values[“HighPriority”] = currentFeedId;

与别的旅游体验相通,Windows 会肩负全部复杂的办事,由此你不要挂念。使用
HighPriority
的关键在于知道哪一天读取设置以致曾几何时写入。日常来说,在应用程序运维时大概当它从中断中回复时检查
HighPriority,进而使客商无论在当下 PC 仍旧在此外 PC
上都足以获取他们最后叁回利用应用程序时实行的操作。大家会针对顾客发起的操作写入
HighPriority,举个例子导航至新页面或单击链接时。

HighPriority
设置平日是瞬时性的,但只怕会因高速写入而受阻,因而无需的写入只会招致应用程序内品质衰减,而不会改正旅游体验。常常的不成方圆是,使
HighPriority
代表客户试行操作的任务和剧情,举例当顾客在应用程序中浏览网页或浏览内容时。有个别应用程序大概含有快速转移的数据,举例追踪正在播放的录制内计数器的录制播放器。在历次录像流速計数量增大时都写入
HighPriority
有些节节失利,您能够改为当摄像更改状态(举个例子播放/暂停)时、顾客达到三个检查点或当应用程序暂停时更新该装置。

     文件适用于累积大的数据集,数据库,恐怕普通文件格式的数据.
何况文件可以献身地面,云端(漫游卡塔尔,也许临时文件夹中.

令你的数额保持一致

稍微数据紧密有关,应该生机勃勃味一齐骑行。最优质的例证是三个点的坐标。当产生退换时,x
和 y
坐标无法分开单独骑行,否则就也许会毁掉数据,发生无效的点。ApplicationData
的游览单元是安装和文件,因而文件中的全部剧情会作为三个单成分来一同环游,而设置本人便是贰个单元。假设您愿意多少个设置一齐出行(举个例子坐标),您能够行使
CompositeSettingValue。该品种的安装允许将多个设置归组到单个值,因此平素将用作多少个单元一齐骑行。

官网地址,HighPriority
设置也足以是个复合值,让你能够安全地畅游代表你的应用程序当前情形的多段数据。举例,作者的源阅读器会按页面将源项目张开分组,以福利阅读。小编不愿意源
ID 和页面分开单独出行,因为源的页数大概会差异。笔者想要实行的操作是使方今的源
ID 和该源中的当前页面一齐作为 CompositeSettingValue
漫游,进而使它们平昔保持风流洒脱致。

     文件能够透过客户登陆的Computer被一同到与客商账户相关的云端。位于云端的文书并非长久的:操作系统会权衡多少个成分

JS:

var currentFeed = new Windows.Storage.ApplicationDataCompositeValue();
currentFeed.insert(“CurrentFeedId”, currentFeedId);
currentFeed.insert(“CurrentFeedPage”, currentFeedPage);
Windows.Storage.ApplicationData.current.roamingSettings.values[“HighPriority”] = currentFeed;

因而决定如曾几何时候发送那么些数量。传送到云端的数码应在低于分配的定额(具体决意于云端数据存款和储蓄分配的定额属性卡塔尔,不然会被中止向云端传输

C#:

Windows.Storage.ApplicationDataCompositeValue currentFeed = 
new Windows.Storage.ApplicationDataCompositeValue();
currentFeed.Insert(“CurrentFeedId”, currentFeedId);
currentFeed.Insert(“CurrentFeedPage”, currentFeedPage);
Windows.Storage.ApplicationData.Current.RoamingSettings.Values[“HighPriority”] = currentFeed;

即使贰个复合值用作 HighPriority 设置,那么它必得低于 8 KB,技能保留
HighPriority 的优势。超过 8 KB
不会导致错误,但它将像平时设置同风流倜傥举行游历。

数据.
当应用程序在向文件中写多少时,该公文是不会被传送到云端的,所以当文件无需再开展操作时尽大概把她们关闭.

响应就要发生的巡礼改造

再有最终三个局部关于旅游体验的学问你应该明白,那正是 ApplicationData 的 DataChanged
事件。DataChanged
事件是一个单独的风浪,您能够在应用程序数据暴发退换时随即发出连续信号,譬喻,在客商改动设置时向后台任务发出模拟信号。当云端中的漫游数据变成你的应用程序发生本地转移时,Windows
会自动就那一件事件向您发出连续信号。那样,您便能够应对那样的场馆:来自另生机勃勃台 PC
的数码或然已被延缓,然后在客户已经上马选用你的应用程序之后达到。您能够使用那一件事件来刷新您的数据视图或响应设置修正。有少数很首要,这正是这种体验适用于客户每一回使用黄金年代台
PC 并在分裂 PC 之间切换的情事,由此你不应将 DataChanged 事件作为差异 PC
之间的实时通讯机制。

       坐落于本地的文本是不会被同台到云端的,它们的读写格局和事情未发生前的肖似.

涉足进去,协同提供始终维持延续的心得

要创立始终维持再三再四情况的 Windows
8,具有使用漫游的应用程序特别关键,为此,我们成立了叁个阳台来便于提供这种崭新的超酷体验。通过旅游到云端这种天时地利的法子,您的应用程序能够从同类中霸气外露,并得觉得您的客商提供方便人民群众和分歧PC
之间的流畅切换体验,进而令客户满足。有关使用漫游的越来越多指南,请参阅国旅应用程序数据指南。其它,请必须参照他事他说加以考察
ApplicationData
示例,此中含有本博文中介绍的任何阅世。多谢您花时间读书本文!

 

        坐落于一时文件夹中的文件当不被使用时会被去除的.
操作系统会权衡比如那几个文件的体积、在操作系统中保留的时刻所以决定

  曾几何时、是或不是删除那一个有时文件。

          

下边包车型客车演示是对出境游文件夹进行 读/写
文件操作,对于本地的和有的时候文件的操作和这一个就像:

StorageFolder roamingFolder = ApplicationData.Current.RoamingFolder;  //获取漫游(云)的文件夹

  const string filename = "sampleFile.txt";   //存储数据的文件

int counter = 99; //存储在文件夹中的数据

 

//把该数据存储到文件中
  StorageFile file = await roamingFolder.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting);
   await FileIO.WriteTextAsync(file, counter.ToString());

 

           //从文件中把数据读取出来
             try
            {
                StorageFile file = await roamingFolder.GetFileAsync(filename);
                string text = await FileIO.ReadTextAsync(file);

                OutputTextBlock.Text = "Counter: " + text;

                counter = int.Parse(text);
            }
            catch (Exception)
            {

            }

 

2、settings:

        在应用中要害囤积装置数据的主意是把他们放为
键值对(key-value卡塔尔国的样式,举例:

Windows.Storage.ApplicationData.current.localSettings

Windows.Storage.ApplicationData.current.roamingSettings

,同期可以把它们存款和储蓄到近日设备的 localSettings 中,可能应用
roamingSettings
,从而设置能够再顾客的别的设备(pc)之间进行互相。对于旅游(roaming卡塔尔(قطر‎设置的办法来讲,同一时间决定于HighPriority 属性和 DataChanged 事件。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图